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

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

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

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

דרך אחת היא שימוש ב-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 כדי לא לשנות את התוכן עצמו אלא רק את ההצגה שלו.

מאת רמי

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

7 תגובות »

  • אייל כותב :

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

  • רמי כותב :

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

  • דביר כותב :

    אם אני רוצה שיהיה תמונה בתחתית כל פוסט איך אני עושה את זה?

  • רמי כותב :

    היי דביר,
    נסה את הקוד הבא:

    function the_content_extra( $content ){
        $content .= '<img src="image.png">'
        return $content;
    }
    add_filter( 'the_content', 'the_content_extra' );
  • דביר כותב :

    באיזה קובץ צריך לשים את זה בfunctions.php זה לא טוב יש לזה אולי תוסף כלשהוא?

  • דביר כותב :

    תודה הסתדרתי בסוף עם התוסף post ender ..

  • רפאל כותב :

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

הוסף תגובה !

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

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