דף הבית » טריקים וטיפים

להוסיף קטגוריות ותגיות לספריית המדיה

15 בדצמבר 2012 | מאת רמי | 6 תגובות | תגיות: , , , ,

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

כיום, תצוגת קבצי המדיה בלוח הבקרה נראית כך:

ספריית המדיה הסטנדרטית

ספריית המדיה הסטנדרטית

כשמעלים קבצי מדיה, המערכת יוצרת Post Type מסוג attachment במסד הנתונים. מכאן, שאם המערכת מתייחסת לקבצי המדיה כ-Port Type אז גם במסך העריכה צריך להתייחס לקבצים כ-Post Types. מכאן הדרך קצרה להוספת תיבות שונות לקבצים. תיבות כגון קטגוריות, תגיות, תגובות, שדות מיוחדים ועוד… שינוי התפיסה הזה התרחש בוורדפרס 3.5.

על מנת להוסיף טקסונומיה חדשה לקבצי המדיה יש לעשות שימוש בפונקציה register_taxonomy() ולהחיל אותה על attachment.

function add_media_taxonomy()  {
    $args = array();
    register_taxonomy( 'media-taxonomy', 'attachment', $args );
}
add_action( 'init', 'add_media_taxonomy', 0 );

ניתן גם להחיל טקסונומיה קיימת על ה-attachment תוך שימוש בפונקציה register_taxonomy_for_object_type().

function add_media_taxonomy()  {
    register_taxonomy_for_object_type( 'category', 'attachment' );
}
add_action( 'init', 'add_media_taxonomy', 0 );

תצוגת קבצי המדיה החדשה:

ספריית המדיה עם קטגוריות

ספריית המדיה עם קטגוריות

הערה: הפוסט עוסק ב- Back End אבל אני אציין שכדי לערוך את התצוגה של קובץ המדיה ב- Front End עליכם להיכנס לתבנית לערוך את הקבצים attachment.php או single-attachment.php. שם ניתן לקבוע האם להציג למשתמש את הקטגוריות והתגיות.

מאת רמי

אחראי על אתר וורדפרס בעברית ועל תרגום ושחרור גרסאות וורדפרס בעברית. מפתח ליבה, בכל גרסה החל מגרסה 2.8, מפתח מוביל בגרסה 4.4 ובגרסה 4.6. מספק שירותי פיתוח אתרים, פיתוח תוספי וורדפרס לסטרטאפים ופיתוח כלים למפתחי וורדפרס - GenerateWP.com.

6 תגובות »

  • אבי כותב :

    אהלן רמי!
    פוסט מצויין כהרגלך!

    יש לי שאלה, ניסיתי את ה'Back End' ובאמת הצלחתי להוסיף קטגוריות לגלריה, אך לצערי לא הצלחתי להבין כלום בקודקס שאליו הפנת. איך אוכל להציג את פרטי הגלריה בעמודי הקטגוריה ב'Front End'?

    תודה!

  • רמי כותב :

    אבי,
    בכל מה שקשור ל-Front End עלייך לערוך את קבצי התבנית שלך.

    לדוגמא, אם אתה רוצה לשנות את התצוגה של עמודי הפוסטים אתה תערוך את הקובץ single.php, לעריכת העמודים תעדכן את הקובץ page.php, ולעריכת התצוגה של הקבצים המצרפים עלייך לערוך את הקובץ attachment.php.

    לעניין הפוסט, כדי להוסיף את "הקטגוריות" של הקובץ המצורף, פשוט השתמש בפונקציה the_category().

  • אבי כותב :

    תודה רמי!
    מה שחיפשתי היה להציג את קבצי המדיה בעמודי הקטגוריה(ולא בעמודי attachment.php).

    הפתרון היה להוסיף את הפונקציות:

    set( 'post_type', array( 'post', 'attachment' ) );
    set( 'post_status', array( 'publish', 'inherit' ) );
  • רמי כותב :

    אבי,

    למה לך להציג קבצי מדיה בעמודי הארכיון (קטגוריות, תגיות, תאריכים ועמודי משתמש)?

    אם אתה פשוט יכול להציג את Post Thumbnails בעמודי ארכיון.

  • אבי כותב :

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

    אני לבנתיים ניסיתי לצרף את הפונקציה הזאת:

    add_theme_support( 'post-thumbnails' );

    אבל לא קיבלתי את וידג'ט האפשרות להוסיף תמונה מוקטנת…יכול להיות שתבנית לא תומכת בתמונות זעירות?

  • רמי כותב :

    אבי, כשאתה מוסיף לתבנית תמיכה ב-Thumbnails, זה מוסיף MetaBox בלוח הבקרה, במקביל אתה צריך להוסיף תמכה גם לתבנית. תקרא על הפונקציה the_post_thumbnail.

הוסף תגובה !

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

תגיות HTML מורשות לשימוש:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>