רוצים לכתוב כאן ? הבלוג של אח"י דקר מחפש כותבים אורחים ראו כאן

הצגת פוסטים קשורים כתמונות

מאת חנית כהן | נשלח 10.10.2007 | נושאים וורדפרס, מדריכים

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

לקחתי את התוסף wp32_related_posts עליו כתבתי בפוסט תגיות בוורדפרס 2.3. חיטוט מהיר בקרביו הראה שהתוסף מכיל פונקציה בשם wp23_get_related_posts המחזירה מערך של הפוסטים הקשורים.

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

למעשה מרגע זה כל השינוי הנדרש היה בתבנית שלי.
ההגיון הוא פשוט - אנחנו רוצים לעבור על רשימת הפוסטים הקשורים ולשייך לכל אחד מהם את הצלמית של התמונה הראשונה המופיעה בו או את תמונת ברירת המחדל (אם אין בפוסט תמונות).
התוצאה הרצויה נראית כך:
פוסטים קשורים בצורת תמונות
הקוד העושה זאת הוא:
$c_posts = $posts;
$current = $post;
$c_images = $post_image_attachments;
$r_posts = wp23_get_related_posts();
foreach ($r_posts as $post) {
        $posts = array($post);
  $post_image_attachments = "";
        echo "<a href='".get_permalink()."' >";
        post_image('http://localhost/www/2.1/wp-content/uploads/rss.png', true);
        echo "<a />";
}
$post = $current;
$posts = $c_posts;
$post_image_attachments = $c_images;
</a>

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

כשלב ראשון אני שומרת את הערכים הנוכחיים של המשתנים בהם אשתמש על מנת לאחזר אותם לאחר השימוש לערכים המקוריים שלהם.
$c_posts = $posts;
$current = $post;
$c_images = $post_image_attachments;

עכשיו אני מפעילה את הפונקציה wp32_get_related_posts על מנת לקבל את רשימת הפוסטים הקשורים עבורה נרצה את התמונות.
את התוצאה שמרתי במשתנה $r_posts.
$r_posts = wp32_get_related_posts();
השלב הבא הוא לולאה שעוברת על כל הפוסטים ועבור כל אחד מהם שולפת את התמונה.
את הלולאה נבצע בעזרת foreach כאשר בכל מעבר נשים את ערך הפוסט החדש שקיבלנו בתוך המשתנה $post.
foreach ($r_posts as $post)
בתוך הלולאה נאתחל את המשתנים הגלובליים כך שיתאימו לפוסט הספציפי עבורו אנחנו רוצים לקבל את התמונה. כאמור - רשימת הפוסטים מאותחלת להיות מערך המכיל את הפוסט הקשור הרלוונטי לנו, ומשתנה התמונות הקשורות מאופס.
$posts = array($post);
$post_image_attachments = "";

כל שנותר לנו הוא לקרוא לפונקציה המוצאת את הצלמית עבור פוסט. הערכים שהפונקציה מקבלת הם במקרה זה תמונת ברירת מחדל שתוצג אם בפוסט אין תמונות וכן הגדרה לייצר צלמית מכל תמונה. הכנסתי את התמונה אל תוך קישור כך שלחיצה אליה תוביל לפוסט האמור.
echo "<a href='".get_permalink()."' >";
post_image('http://localhost/www/2.1/wp-content/uploads/rss.png', true);
echo "<a />";</a>

עכשיו נסגור את הלולאה ונחסיר את המשתנים לערכיהם ההתחלתיים
}
$post = $current;
$posts = $c_posts;
$post_image_attachments = $c_images;

זה הכל.


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

תגיות לחיפוש בבלוג: ,,,,,,

9 תגובות עבור “הצגת פוסטים קשורים כתמונות”

  • אלונה מיילר בתאריך 10.10.2007 @ 7:09 pm

    אני ממש מודה לך על ההסברים!!
    זה ממש שווה

    בהזדמנות אנסה את התוסף. בטח זה לא יהיה קל.. :roll:

  • אחי דקר בתאריך 10.10.2007 @ 8:45 pm

    אני שמחה לשמע שזה היה ברור ועזר איכשהו.

  • liorry בתאריך 10.10.2007 @ 11:17 pm

    אין אין, את פשוט תותחית!

  • איתי בתאריך 13.10.2007 @ 2:14 am

    ניסיתי לעשות זאת על גרסה 2.2 והחלפתי את ה-wp23_get_related_posts בפונקציה אחרת של Simple tag אך זה לא עובד
    הכנסתי את זה לעמוד single.php אך הוא מראה לי את הקוד ולא תמונות.
    פספתי משהו?

  • אחי דקר בתאריך 14.10.2007 @ 9:21 am

    איתי,
    אני לא יודעת איך עובד התוסף Simple tag.
    תבדוק מה מחזירה לך הפונקציה בה השתמשת.
    אני מסתמכת פה על כך ש wp32_get_related_posts מחזירה לי רשימת פוסטים.
    בכל מקרה אחר תצטרך לשלוף את מבנה הנתונים post בהתאם לתוצאות.

  • The N.Z.B » תמונה לפוסט בתאריך 9.02.2008 @ 2:00 am

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

  • הבדיקות » Blog Archive » תמונה לפוסט בתאריך 17.02.2008 @ 8:41 pm

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

  • צעצועים לדף הבית » ITbananas בתאריך 8.04.2008 @ 11:04 pm

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

  • תמונה לפוסט | הבדיקות בתאריך 18.04.2008 @ 5:51 pm

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

  • השארת תגובה





    :mrgreen::|:twisted::arrow:8O:):?8):evil::D:idea::oops::P:roll:;):cry::o:lol::x:(:!::?: