בפוסט קצר זה נראה כיצד ניתן לבטל הוספת 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
עד כאן, אני בטוח שכמפתחי וורדפרס תמצאו שימוש לדרך שהצגתי במוקדם או במאוחר… בהצלחה!
באיזה מצבים הכי כדאי להוריד את זה?
אין לי דוגמה ספציפית להביא לך. במרבית המקרים השימוש ב srcset יהיה שימושי, אך במצבים מסויימים ייתכן ותהיה מעוניין לבצע הטמעה מסוג אחר (בהתאם למטרת האתר) או פשוט לא תרצה לנצל אפשרות זו. באופן כללי הפוסט נועד למי שמעוניין לבטל את הפונקציונליות ולא משנה מאיזו סיבה…
אני חושב שמצאתי את התשובה, השימוש לש זה מתבצע ברגע שאתה רוצה להשתמש עם מסכים כמו רטינה וכו.
דוגמה למצב שאני עכשיו מוריד את זה. אתר ווקומרס שיש בו לדוגמה 4 מוצרים בשורה..
זאת אומרת שהמקסימום רוחב של כל תמונה יגיע בערך ל-300 פיקסל. ה-SRCSET גורם לזה שבגלל שאני נכנס במסך של 1920, אז אני אקבל תמונה ברוחב 1920 וזה ממש מיותר. אין לי צורך בזה בכלל. לכן הגדרתי שתמיד תיטען שם תמונה ברוחב 300.