הצגת 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 שלכם יוצגו כמו שצריך באתר.

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

תמונה מצוירת של רובוט שמנקה HTML
יסודות בתכנות

סניטציה – למה זה חשוב

הסבר על טכניקה פשוטה וידועה מאד שאנו מפעילים על מידע לפני שאנחנו מציגים אותו ב-HTML באפליקציה או באתר.

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

SSG עם next

אחרי שלמדנו במאמר הקודם מה זה SSR והבנו שלא מדובר בקליע כסף שפותר את כל הבעיות שלנו, נלמד על SSG שיכול להקל על כמה מהבעיות של SSR.

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

עבודה עם GPT למתכנתים

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

פיתוח ב-JavaScript

Axios interceptors

תכנון נכון של קריאות AJAX באפליקציה ריאקטית וניהול השגיאות או ההצלחות עם פיצ׳ר נחמד של axios

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

יישום של nonce על מנת להגן מפני התקפות injection

בפוסט הקודם הסברתי על hash עם CSP על משאבי inline – שזה נחמד ומעולה אבל פחות ישים בעולם האמיתי שבו בדרך כלל התוכן ה-inline (בין

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