חיפוש ]

הצגת תמונה ראשית ברשימת הפוסטים בוורדפרס (ללא תוסף)

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

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

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

הוספת עמודת תמונה ראשית לרשימת הפוסטים

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

add_filter( 'manage_posts_columns', 'add_featured_image_column' );
function add_featured_image_column( $columns ) {
    $new = [];
    foreach ( $columns as $key => $value ) {
        if ( $key === 'title' ) {
            $new['featured_image'] = __( 'Featured Image' );
        }
        $new[ $key ] = $value;
    }
    return $new;
}

add_action( 'manage_posts_custom_column', 'display_featured_image_column', 10, 2 );
function display_featured_image_column( $column, $post_id ) {
    if ( $column === 'featured_image' ) {
        $thumbnail = get_the_post_thumbnail( $post_id, [ 60, 60 ] );
        echo $thumbnail ?: '-';
    }
}

add_action( 'admin_head', 'featured_image_column_style' );
function featured_image_column_style() {
    echo '<style>
        .column-featured_image { width: 80px; text-align: center; }
        .column-featured_image img { border-radius: 4px; }
    </style>';
}

הוסיפו את הקוד לקובץ functions.php של תבנית הבת או לפלאגין ייעודי. לעולם אל תערכו את תבנית האב ישירות – השינויים יימחקו בעדכון הבא.

שינוי גודל התמונה

ניתן לשלוט על גודל התמונה על ידי שינוי הפרמטרים בפונקציה get_the_post_thumbnail().

הפרמטר השני מקבל גודל מוגדר מראש (כמו 'thumbnail', 'medium', או גודל תמונה מותאם) או מערך עם מימדים מותאמים אישית.

לדוגמה, להצגת תמונה בגודל 100×100 במקום 60×60:

$thumbnail = get_the_post_thumbnail( $post_id, [ 100, 100 ] );

לשימוש בגודל מוגדר מהתבנית:

$thumbnail = get_the_post_thumbnail( $post_id, 'admin-thumb' );

החלת השינוי על סוגי תוכן מותאמים

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

add_filter( 'manage_portfolio_posts_columns', 'add_featured_image_column' );
add_action( 'manage_portfolio_posts_custom_column', 'display_featured_image_column', 10, 2 );

המבנה הוא manage_{post_type}_posts_columns עבור הפילטר ו-manage_{post_type}_posts_custom_column עבור האקשן. החליפו את {post_type} ב-slug של סוג התוכן שלכם.

שאלות נפוצות

שאלות נפוצות על הצגת תמונות ראשיות בממשק הניהול של וורדפרס:

האם הקוד יאט את ממשק הניהול?
לא. הקוד משתמש ב-get_the_post_thumbnail() שטוען גדלי תמונות שכבר נוצרו. וורדפרס יוצרת את הגדלים בעת העלאת התמונה, כך שלא מתבצע עיבוד תמונות נוסף בעת טעינת רשימת הפוסטים.
האם זה עובד עם מוצרי WooCommerce?
WooCommerce כבר מציגה תמונות מוצר ברשימת המוצרים בממשק הניהול כברירת מחדל. אם אתם צריכים את זה עבור סוג תוכן מותאם שנרשם על ידי תוסף, השתמשו בפילטר הספציפי ל-CPT: manage_{post_type}_posts_columns.
האם ניתן למיין לפי העמודה?
מיון לפי תמונה ראשית אינו מעשי כי לתמונות אין סדר טבעי. עם זאת, ניתן למיין לפי קיום או העדר תמונה ראשית באמצעות manage_edit-post_sortable_columns ושינוי השאילתה עם pre_get_posts לבדיקת המטא _thumbnail_id.
מה קורה אם לפוסט אין תמונה ראשית?
הקוד מציג מקף (-) כברירת מחדל כשאין תמונה ראשית. ניתן להתאים זאת להצגת תמונת placeholder או טקסט אחר על ידי שינוי ערך ברירת המחדל בפונקציה display_featured_image_column.
האם ניתן להוסיף את העמודה גם לרשימת העמודים?
כן. השתמשו ב-manage_pages_columns ו-manage_pages_custom_column במקום הפילטרים של פוסטים. פונקציות ה-callback נשארות זהות.

סיכום

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

רוצים להציג גם את מזהי הפוסטים (IDs) בממשק הניהול? קראו את המדריך להצגת מזהי פוסטים בוורדפרס ללא תוסף.

דיון ותגובות
4 תגובות  ]
  • שלומי 16 אפריל 2025, 21:52

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

    • רועי יוסף 16 אפריל 2025, 22:04

      תענוג שלומי 🙂 ה- TTL של האתר לא אפסי עד כמה ידוע לי. על כל מקרה, אני לא משתמש ב CDN. שרת טוב, מערכות Caching טובות ופיתוח נכון של האתר עושה את העבודה..

      • שלומי 16 אפריל 2025, 22:12

        כן. ראיתי שאתה משתמש בlitespeed. אחלה של פלאגין.
        CDN לא מעניין אותך כי אתה עובד מול קהל ישראלי?

        • רועי יוסף 16 אפריל 2025, 23:48

          הולך להוסיף בקרוב, כרגע מרבית הכניסות לאתר הם מחו״ל כי הבלוג קיים גם באנגלית

השאירו תגובה

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

Savvy WordPress Development official logo