קטגוריות
וורדפרס

עמודי כותבים בבלוג מרובה מחברים

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

הפניה לעמוד מחבר

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

א. רשימת מחברים בבר הניווט

אם הערכה תומכת בבר ניווט דינמי, הרי שניתן להעתיק ולהדביק את הקוד הבא בתוך וויג'ט קוד, אם לא יש לפתוח את sidebar.php ולהדביק את הקוד בתוכו במקום הרצוי.

  • רשימת הכותבים:

      < ?php wp_list_authors('show_fullname=1&optioncount=1'); ?>
  • הפונקציה הזו תייצר בבר הניווט של הבלוג רשימה של הכותבים כאשר כל כותב לינקבילי לעמוד הכותב שלו ולידו יופיעו בסוגריים מספר הפוסטים שהוא חיבר.

    ב. קישור שם הכותב

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

     < ?php the_author_posts_link(); ?> 

    אם בבלוג כבר מופיע שם הכותב, הרי שהמחרוזת הזו צריכה לבוא במקום

     < ?php the_author(); ?> 

    אם לא, אז יש לשלב את קטע הקוד הרלוונטי תחת אזור ה loop.

    יצירת עמוד מחבר

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

    author.php
    archive.php
    index.php

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

    ראשית, יש ליצור באמצעות תוכנת העריכה החביבה עליכם קובץ חדש ולשמור אותו תחת השם author.php בספריית השורש של ערכת העיצוב.
    בשלב השני, נכניס את הקריאות ההיקפיות של העמוד (הדר, בר ניווט ופוטר)

    < ?php get_header(); ?>
        
    < ?php get_sidebar(); ?> < ?php get_footer(); ?>

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

    if(isset($_GET['author_name'])) :
    $curauth = get_userdatabylogin($author_name);
    else :
    $curauth = get_userdata(intval($author));
    endif;?>

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

    $curauth->aim;
    $curauth->description;
    $curauth->display_name;
    $curauth->first_name;
    $curauth->ID;
    $curauth->jabber;
    $curauth->last_name;
    $curauth->nickname;
    $curauth->user_email;
    $curauth->user_login;
    $curauth->user_nicename;
    $curauth->user_registered;
    $curauth->user_url;
    $curauth->yim; 

    כך למשל, על מנת להציג את שם הכותב ניתן להשתמש ב

    עמוד הכותב של: < ?php echo $curauth->nickname; ?>

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

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

    < ?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
      
  • < ?php the_title(); ?>, < ?php the_time('d M Y'); ?> in < ?php the_category('&');?>
  • < ?php endwhile; else: ?>

    < ?php _e('לכותב זה אין פוסטים.'); ?>

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

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

    RSS

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

    ולסיום – קובץ ה php, ניתן להוריד אותו מפה רק צריך לשנות את הסיומת של הקובץ ל php

    < ?php get_header(); ?>
       
    < ?php if(isset($_GET['author_name'])) : $curauth = get_userdatabylogin($author_name); else : $curauth = get_userdata(intval($author)); endif; ?>

    שם הכותב: < ?php echo $curauth->nickname; ?>

    דואר אלקטרוני: < ?php echo $curauth->user_email; ?>

    RSS

    ניתן להרשם לפיד ה RSS שלי.

    אודות:

    < ?php echo $curauth->user_description; ?>

    הפוסטים של < ?php echo $curauth->nickname; ?>:

      < ?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
    • < ?php the_title(); ?>, < ?php the_time('d M Y'); ?> in < ?php the_category('&');?>
    • < ?php endwhile; else: ?>

      < ?php _e('No posts by this author.'); ?>

      < ?php endif; ?>
    < ?php get_sidebar(); ?> < ?php get_footer(); ?>

    הערות הארות והסתיגויות

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

    3 תגובות על “עמודי כותבים בבלוג מרובה מחברים”

    למרות שמרבית המידע לא חדש לי, הצלחת להפתיע אותי בהסבר אודות ה-RSS האישי לכל כותב.

    אני הפכתי את וורדפרס למערכת ניהול תוכן עבור אתר חדשות המדע "הידען" בכתובת http://www.hayadan.org.il. באתר עשרות כותבים (קרוב ל-200) וזה יהיה נחמד ליצור להם קבצי RSS אישיים. תודה.

    כתיבת תגובה

    האימייל לא יוצג באתר. שדות החובה מסומנים *