Search
Close this search box.

הפעם נוסיף טקסונומיות לוורדפרס…

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

את הקוד יש להוסיף לקובץ functions.php. בפוסט הקודם הסברנו איך ואיפה יושב הקובץ.

הקוד להוספת הטקסונומיה

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

add_action( 'init',function(){
    $args = array(
        'label'        => 'Brand',
        'hierarchical' => false
    );
    register_taxonomy( 'brand', 'product', $args );
});

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

שורה ראשונה: add_action – אנחנו מוסיפים פונקציה שתקרא באיתחול של WP (כל טעינת עמוד נחשבת אתחול).

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

שורה רביעית: hierarchical – האם יש היררכיה לטקסונומיה הזו. לדוגמה בקטגוריות מוצרים יש מצב שנרצה היררכיה:

  • מקררים
    • מקררים מקפיא תחתון
    • מקררים מקפיא עליון
    • מקרר יינות
  • כיריים
    • אינדוקציה
    • גז
    • קרמי

במקרה כזה נגדיר 

"hierarchical" => true

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

השורה האחרונה: מבצעת את הוספת הטקסונומיה בפועל, ומקבלת שלושה פרמטרים:

  • הפרמטר הראשון – שם הטקסונומיה מבחינת וורדפרס. חייב להיות שם באנגלית וללא רווחים. אפשר להשתמש בתווים – _.
  • הפרמטר השני – עבור איזה פוסט טייפ אני רוצה להגדיר את הטקסונומיה החדשה. במקרה שלנו – נתתי "product" כי אני רוצה שהטקסונומיה תהיה על מוצרים. כדי להגדיר על יותר מפוסט טייפ אחד – נגדיר עם מערך, באופן הזה:
register_taxonomy('my_tax', array('post_type_1', 'post_type_2', $args);
  • והפרמטר השלישי – כאן אנחנו שולחים את מערך ההגדרות שעליו הצהרנו למעלה – $args.

זה הכל 🙂

מה אומרת? מסובך? עדיין מעדיפה להתקין תוסף במקום לכתוב את זה? ועל מה היית רוצה לשמוע בפוסט הבא?

את כל זה תוכלי לכתוב לי במייל חוזר. משתדלת לענות לכל תגובה בעז"ה.

בהצלחה!