תמונה לפוסט 9 בפבר' 2008

מאת: ~ניצן~ ~ניצן~ | הדפסה |

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

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

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

  1. < ?php  
  2. $key= "large-photo";   
  3. if($image = get_post_meta($post->ID, $key, true)){
  4.            echo "<img src='", $image, "'/>"; }
  5. ?>

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

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

  1. < ?php
  2. $key= "large-photo";
  3. $defaultPic = get_bloginfo('template_directory') . '/images/di.jpg';                                           
  4. if($image = get_post_meta($post->ID, $key, true)){
  5.    echo "<img src='", $image, "'/>"; }
  6. else
  7.    echo "<img src='", $defaultPic, "'/>";
  8. ?>

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

למטיבי לכת

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

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

Popularity: 15% [?]


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

RSSעידכונים ב RSS

תגובות

תגובה אחת


Trackbacks

שם (חובה)

Email (חובה)

אתר

משהו להוסיף?

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>



פוסטים קשורים

פוסטים אחרונים

מודם סלולרי באובונטו

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


הצגת RSS בוורדפרס

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


פגרת הקיץ

~ניצן~
פגרת הקיץ כילד אתה לומד לחכות ולצפות לפגרת הקיץ, חופש גדול אנחנו קוראים לזה כאן. אני מניח שהורים דווקא היו נותנים הכל ...
רגע, יש עוד ←


קטעי ווידאו נבחרים

  • Click to play video

קטגוריות

הרשמה במייל

כתובת דואר אלקטרוני:

FireStats icon ‏מריץ FireStats‏