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

להוסיף תמונות ממוזערות לפידים

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

פידים

פידים

המטרה

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

<item>
    <title>כותרת</title>
    <link>http://www.wp-tricks.co.il/post-url/</link>
    <comments>http://www.wp-tricks.co.il/post-url/#comments</comments>
    <pubDate>Sun, 1 Jan 2010 00:00:00 +0000</pubDate>
    <dc:creator>כותב</dc:creator>
    <guid isPermaLink="false">http://www.wp-tricks.co.il/?p=1</guid>
    <description>תיאור קצר של הפוסט</description>
</item>

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

הוספת תמונה בשדה description

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

function feed_thumbnail($content)  {
    global $post;
    if ( has_post_thumbnail( $post->ID ) ){
        $content = '<p>' . get_the_post_thumbnail( $post->ID, 'thumbnail' ) . '</p>' . $content;
    }
    return $content;
}
add_filter('the_excerpt_rss', 'feed_thumbnail');
add_filter('the_content_feed', 'feed_thumbnail');

הוספת שדה enclosure

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

function feed_thumbnails() {
    if ( function_exists( 'has_post_thumbnail' ) and has_post_thumbnail() ) {
        $thumb = wp_get_attachment_image_src( get_post_thumbnail_id(), 'post-thumbnail' );
    } else if ( function_exists( 'get_post_thumbnail_src' ) ) {
        $thumb = get_post_thumbnail_src();
        if ( preg_match( '|^<img src="([^"]+)"|', $thumb[0], $m ) )
            $thumb[0] = $m[1];
    } else {
        $thumb = false;
    }
    if ( $thumb ) {
        echo "\t" . '<enclosure url="' . $thumb[0] . '" />' . "\n";
    }
}
add_action('rss2_item', 'feed_thumbnails');

מאת רמי

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

3 תגובות »

  • edge כותב :

    לא ברור למה אתה מתכוון. רצוי לצרף תמונה כלשהי לתוצר

  • ראובן קרסיק כותב :

    אני משתמש בWibia, והוא לוקח פוסטים מפיד RSS ולא מוצא תמונות ממוזערות. הוספתי את הקוד לקובץ הפונקציות, ועדיין הוא לא מוצא תמונות(וכשאני גולש לכתובת http://pixel.org.il/feed אני לא רואה שם שום תמונות, רק טקסט ולינקים)
    האם זה חל רק על פוטסים שמפורסמים מעכשיו והלאה? או שיש בעיה כלשהי?

    תודה

  • רמי כותב :

    ראובן, צור איתי קשר, אני אעזור לך.

הוסף תגובה !

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

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