הצגת custom content type בוורדפרס | אינטרנט ישראל
דף הבית › פיתוח אינטרנט › פתרונות ומאמרים על פיתוח אינטרנט › הצגת custom content type בוורדפרס
הצגת custom content type בוורדפרס
נובמבר 20, 2011 תגיות : וורדפרס בקטגוריה: פתרונות ומאמרים על פיתוח אינטרנט
אחד מהשינויים העצומים ביותר שוורדפרס גרסה 3 הביאה בחובה היא האפשרות הפשוטה והקלה ליצירת custom content type שונים ומשונים באמצעות שימוש ב-register_post_type בתוסף. כך למשל, יצרתי סוג תוכן מסוג ‘סרטים’:
class YouTubePostType {
function register_activation_hook() {
register_post_type('youtube',
'label'   => __('YouTube'),
'supports' => array('thumbnail', 'excerpt', 'trackbacks', 'custom-fields', 'comments', 'revisions', 'title', 'editor'),
'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
$query->set( 'post_type', array( 'post', 'MY_CUSTOM_CONTENT_NAME') );
וכמובן שצריך לשנות את MY_CUSTOM_CONTENT_NAME לשם של התוכן שלכם, אפשר להוסיף שמות נוספים אם יצרתם יותר מתוכן אחד (רק לא לשכוח להפקיד בפסיקים ולשים בין מרכאות!). מה שהקוד הזה עושה בעצם הוא הוספת פילטר לכל לופ שמבקש פוסטים ושינוי השאילתה למסד הנתונים על מנת שיכיל סוגי תוכן חדשים.
אחרי זה כמעט מייד כל ה-custom content type שלכם יוצגו כמו שצריך באתר.
‹ localStorage vs sessionStorage
יצירת איזורי וידג’טים חדשים בוורדפרס ›