דף הבית » טריקים וטיפים, מומלצים

הוספת ביוגרפיית הכותב לתחתית הפוסט

12 בדצמבר 2009 | מאת רמי | 2 תגובות | תגיות: , , , , , ,

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

דרך אחת היא שימוש ב-shotcode. בדרך זו מוסיפים בסוף הפוסט קוד דוגמת [author_bio] אשר מפעיל פונקציה שמוסיפה את הביוגרפיה. היתרון בשיטה הוא שיש לנו שליטה על הפוסטים בהם תוצג הביוגרפיה, החסרון בא לידי ביטוי כאשר רוצים להסיר בצורה גורפת את הביוגרפיה, אז יש למחוק את התגית מכל הפוסטים בהם היא מופיעה.

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

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

הגדרת פילטר

את הפילטר אנו נגדיר בקובץ functions.php, תוך שימוש בקוד הבא:

function author_bio($content){
    global $post;

    // not in pages
    if ( !is_single() ) return $content;

    $post_author_name = get_the_author_meta("display_name");
    $post_author_desc = get_the_author_meta("description");

    $content.="<div id='author_bio'>\n";
    $content.=" <div class='author_text'>\n";
    $content.="  <h4>".$post_author_name."</h4>\n";
    $content.="  <p>".$post_author_desc."</p>\n";
    $content.=" </div>\n";
    $content.="</div>\n";
    return $content;
}
add_filter('the_content', 'author_bio');

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

מאת רמי

מייסד האתר והעורך ראשי שלו. מפתח אתרים מבוססי וורדפרס, תורם (מדי פעם) לפיתוח המערכת, פעיל בקודקס האנגלי, אחראי על אתר וורדפרס בעברית, אחראי על תרגום וורדפרס לעברית, והחל מגרסה 3.3 אחראי על שחרור גרסאות וורדפרס בעברית.

2 תגובות »

  • אייל כותב :

    שלום,
    איפה מכניסים את הנתונים של הביוגרפיה?
    תודה
    אייל

  • רמי כותב :

    כמו שכתוב בפוסט, תעשה העתק&הדבק לקוד ותכניס אותו לקובץ functions.php.

הוסף תגובה !

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

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