חיפוש ]

איך לבטל את התכונה srcset של תמונות רספונסיביות בוורדפרס?

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

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

scrset הוא פיצ׳ר שימושי מאד להצגת תמונות רספונסיביות והוא נראה משהו בסגנון הבא:

<img src="/demo-200px.png" srcset="/demo-200px.png 1x, /demo-400px.png 2x">

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

ביטול התכונה srcset המתווספת אוטומטית באתרי וורדפרס

בכדי לבטל אפשרות זו לרוחב האתר הוסיפו את הקוד הבא לקובץ functions.php של תבנית הבת שלכם:

function sv_disable_srcset( $sources ) {
    return false;
}
add_filter( 'wp_calculate_image_srcset', 'sv_disable_srcset' );

אם אתם מעוניינים להסיר את התכונה srcset מתמונות במיקום ספציפי בתבנית, למשל כשאתם משתמשים בפונקציה the_post_thumbnail() אז ניתן לעשות זאת בצורה הבאה:

remove_filter( 'wp_calculate_image_srcset_meta', '__return_null' ); // Remove that filter 
the_post_thumbnail();  // Display the post thumbnail
add_filter( 'wp_calculate_image_srcset_meta', '__return_null' ); // add srcset filter back

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

  • איגור 25 ינואר 2021, 20:21

    באיזה מצבים הכי כדאי להוריד את זה?

    • רועי יוסף 25 ינואר 2021, 20:43

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

      • איגור 26 ינואר 2021, 16:14

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

    • בן 8 מאי 2024, 16:14

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

תגובה חדשה

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

Savvy WordPress Development