הצגת custom content type בוורדפרס

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

אחד מהשינויים העצומים ביותר שוורדפרס גרסה 3 הביאה בחובה היא האפשרות הפשוטה והקלה ליצירת custom content type שונים ומשונים באמצעות שימוש ב-register_post_type בתוסף. כך למשל, יצרתי סוג תוכן מסוג 'סרטים':


class YouTubePostType {
	// Hooks
	function register_activation_hook() {
	}

	function init() {
		register_post_type('youtube',
			array(
				'label'   => __('YouTube'),
				'public'  => true,
				'show_ui' => true,
				'supports' => array('thumbnail', 'excerpt', 'trackbacks', 'custom-fields', 'comments', 'revisions', 'title', 'editor'),
				'taxonomies' => array('category','post_tag'),
				'show_in_nav_menus' =>true,
			)	
		);
		register_taxonomy_for_object_type('category', 'youtube');

	}
}

אני לא רוצה להכנס לבדיוק איך יוצרים custom content types בוורדפרס כי זה חורג מה-scope שלי במאמר הזה, אפילו שאולי יום יבוא ואני אכתוב על כך. יש לא מעט תוספים בוורדפרס שיוצרים סוגי תוכן ואני מאמין שכמות התוספים האלו תלך ותגדל. הבעיה העיקרית היא שכאשר אנו יוצרים content type ומגדירים שניתן לקטלג אותו לקטגוריות או לתגים – אנו נתקלים במצב שבו הפוסטים החדשים שלנו… פשוט לא מופיעים! למרות שיצרנו פוסט מסוג מסוים ושמרנו אותו לקטגוריה מסוימת, כשאנו נכנסים לקטגוריה הזו, אנו לא יכולים לראות את הפוסט!

לסיפור המרגיז הזה יש פתרון קל ופשוט – פשוט העתיקו את הקוד הבא אל functions.php של התמה שלכם:


/**
* make my custom content type available for archive page
*/ 
add_filter( 'pre_get_posts', 'my_get_posts' );

function my_get_posts( $query ) {
		$query->set( 'post_type', array( 'post', 'MY_CUSTOM_CONTENT_NAME') );
	return $query;
}

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

אחרי זה כמעט מייד כל ה-custom content type שלכם יוצגו כמו שצריך באתר.

פוסטים נוספים שכדאי לקרוא

פתרונות ומאמרים על פיתוח אינטרנט

לא פרצו לנו, רק דלף לנו – לקחים טכניים מפרשת אלקטור

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

ממנטו עם גמל אין לי מושג למה אני עושה דברים
יסודות בתכנות

מה זה stateful ו-stateless

מה זה סטייט? למה אנחנו צריכים לדעת מה זה ואיך רואים את זה ממש בעיניים.

פתרונות ומאמרים על פיתוח אינטרנט

מודל הרשאות מבוסס טוקנים/ססמאות לעומת OIDC

כש-LLM בונה לכם דיפלוימנט, הוא כמעט תמיד יציע טוקן קבוע ב-Secrets. זה עובד אבל זו גם הדרך שבה סודות דולפים. OIDC מחליף מפתח לדלת פתוחה בהוכחת זהות. תלמדו על כך כדי לכוון את האייג׳נט טוב יותר.

פתרונות ומאמרים על פיתוח אינטרנט

מדרך מעשי לכתיבת קוד עם AI Agents

טכניקות בדוקות שנבדקו במוצרים אמיתיים לכתוב קוד טוב יותר עם LLM Agent. פוסט מיוחד למתכנתים מנוסים.

יסודות בתכנות

סיסטם פרומפט במודל זה לא אבטחה

הוראות לאייג׳נט של ״אל תעשה X״ לא מחזיקות מים. לא רק בתיאוריה, גם במציאות ומאד חשוב לדעת את זה.

גלילה לראש העמוד