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

איך למנוע מוורדפרס ליצור תמונות בגדלים שונים

8 ביולי 2012 | מאת רמי | 11 תגובות | תגיות: , , , , ,

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

איך למנוע מוורדפרס ליצור תמונות בגדלים שונים

הגדרות המדיה של וורדפרס

הבעיה

כאשר אנו מעלים תמונות לוורדפרס, המערכת שומרת את התמונה המקורית ויוצרת באופן אוטומטי שלושה תמונות בפרופורציות שונות – תמונה גדולה (1024×1024), תמונה בינונית (300×300), ותמונה מוקטנת (150×150). ניתן להגדיר את הפרופורציות המירביות של כל הגדלים בתפריט הגדרות > מדיה.

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

נשאלת השאלה איך לגרום לוורדפרס לא לשמור באופן אוטומטי תמונות בגדלים שונים – אלא רק את התמונה המקורית.

הפתרון

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

הגדרות מדיה

הגדרות מדיה

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

function remove_image_sizes( $sizes ) {
unset( $sizes['thumbnail']);
unset( $sizes['medium']);
unset( $sizes['large']);
return $sizes;
}
add_filter( 'intermediate_image_sizes_advanced', 'remove_image_sizes' );

שתי השיטות ינטרלו את האפשרות להוסיף תמונות בגדלים שונים, משום שלא יווצרו תמונות אוטומטיות מלבד התמונה המקורית.

כל הגדלים מנוטרלים מלבד התמונה בגודל המלא

כל הגדלים מנוטרלים מלבד התמונה בגודל המלא

מאת רמי

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

11 תגובות »

  • מילאן כותב :

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

  • רמי כותב :

    תודה. ואני שמח לשמוע שזה עזר לך.

  • נחמה כותב :

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

    אז תודה גדולה!

  • דביר כותב :

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

  • רמי כותב :

    דביר, אפשר לכתוב משהו קצת יותר מורכב ולנטרל גם את הגדלים המיוחדים שיוצרות התבנית. חפש את הפונקציה get_intermediate_image_sizes().

  • ניר כותב :

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

    אני יכול למחוק את התמונות הנוספות והאתר לא יפגע?

  • רמי כותב :

    ניר, זה תלוי.
    הכל תלוי באיך התבנית שלך בנויה.

    יכול להיות שמשתמשים בגודל אחד ופשוט נותנים לתמונה פרופורציות שונות ב-CSS. אבל אז זה צורך רוחב פס לחינם. במקום להשתמש בתמונות קטנות למיקומים שונים.

  • מיקי כותב :

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

    בספריית המדיה יש רק אפשרות למחוק את התמונה לגמרי ולא את השיוך

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

    אשמח לעזרה

  • רמי כותב :

    מיקי, יש הרבה תוספים שעושים בדיוק את זה, חפש בספריית התוספים או תקיש בגוגל "wordpress un attach media files" או משהו בסגנון.

    הנה תוסף אחד, למשל – http://wordpress.org/plugins/unattach-and-re-attach-attachments/

  • שלומי כותב :

    יש תוסף למחיקה של כל התמונות שכבר הוא שכפל?

  • רמי כותב :

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

הוסף תגובה !

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

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