« בחזרה לתיעוד

הוספת פריסה לתבנית – ארכיון פוסטים / וידג׳ט פוסטים

במידה ורוצים לשנות או לערוך פריסות תוכן קיימות בתבנית אפשר לעשות זאת באמצעות עריכת הקובץ בתבנית בת. אבל שימו לב שאמצעות כמה קטעי קוד ניתן להוסיף פריסות תוכן חדשות לתוך המערכת, מה שהופך את התבנית לורסטילית הרבה יותר.

מערכת הטמפלטים שלנו מחולקת לשני אזורים:

  1. עמודי ארכיון פוסטים
  2. וידג׳ט פוסטים

שימו לב שבכל תבנית בת יש קובץ בשם includes/class-pojo-child-template.php. הקובץ הזה למעשה יורש את המחלקה (class) שמטפלת בטמפלטים בתבנית-אב.

כדי להוסיף פריסה לארכיון הפוסטים, יש להוסיף למחלקה הזו את הפונקציה הבאה:

public function po_display_types( $display_types = array(), $cpt ) {
		$display_types = parent::po_display_types( $display_types, $cpt );
		
		if ( 'post' === $cpt ) {
			$display_types['new_grid'] = __( 'New Grid', 'pojochild' );
		}
		
		return $display_types;
	}

בקוד אנחנו דבר ראשון בודקים האם מדובר בפריסה עבור CPT של post. כמובן שאפשר לשנות את ה-CPT לכל אחד אחר. לאחר מכן הוספנו מזהה לפריסה החדשה new_grid עם כותרת בשם New Grid.כמובן שניתן לערוך את שם ומזהה הפריסה למה שאתם רוצים.

על מנת לייצר את הפריסה בפועל עבור ארכיון הפוסטים, יש להעתיק אחד מהקבצים שנמצאים בתבנית-אב תחת התיקיה content/content*.php אל אותה תיקיה בתבנית בת, ולהגדיר את שם המזהה new_grid בתוך הקובץ, לדוגמא: content/content-new_grid.php.

עכשיו אתם יכולים פשוט לערוך את הקובץ הזה בהתאם לצרכים שלכם.

על מנת לייצר את אותה פריסה גם עבור הוידג׳ט ״פוסטים״ יש להוסיף את הפונקציה הבאה:

public function pojo_recent_posts_layouts( $styles = array() ) {
		$styles = parent::pojo_recent_posts_layouts( $styles );
		
		$styles['new_grid'] = __( 'New Grid', 'pojo' );
		
		return $styles;
	}

גם פה, קודם כל עשינו בדיקה שמדובר ב-CPT מסוג post והוספנו לו את הפריסה new_grid.

גם פה דבר ראשון אנחנו בודקים בקוד האם מדובר בפריסה עבור CPT של post. כמובן שאפשר לשנות את ה-CPT לכל אחד אחר. לאחר מכן הוספנו מזהה לפריסה החדשה new_grid עם כותרת בשם New Grid.אלא שהקובץ PHP שמופעל בו נקרא מתחיל בפרפיקס recent_post ולא content כמו בפריסה של הארכיון.

על מנת לייצר את הפריסה עבור הוידג׳ט, יש להעתיק אחד מהקבצים שנמצאים בתבנית-אב תחת התיקיה content/recent_post-*.php אל אותה תיקיה בתבנית בת, ולהגדיר את שם המזהה new_grid בתוך הקובץ, לדוגמא: content/content-new_grid.php.

השלב הבא הוא להעתיק קובץ דומה כזה מהתבנית בת לאבא ולהגדיר לו את המזהה שפתחתם content/recent_post-new_grid.php עכשיו אפשר פשוט לערוך את הקובץ בהתאם לפריסה המדוברת.

בהצלחה!

« בחזרה לתיעוד