Paano I-disable ang -scaled na Images sa WordPress (big_image_size_threshold)
Ayusin ang malalabong WordPress image sa pamamagitan ng pagtaas o pag-alis ng 2560px na cap gamit ang big_image_size_threshold filter, at alamin kung bakit ang pag-upload ulit ang laging nalilimutang hakbang.
Nailathala
Magdagdag ng filter sa big_image_size_threshold na nagbabalik ng false at titigil ang WordPress sa paggawa ng -scaled na kopya tuwing may upload. Magbalik ka naman ng numero at tinataasan mo ang cap sa halip na alisin ito. Pareho itong napupunta sa functions.php o sa maliit na mu-plugin, at pareho ring bagong upload lang ang naaapektuhan matapos maging aktibo ang filter.
// Disable the cap entirely — no -scaled copies at all.
add_filter( 'big_image_size_threshold', '__return_false' );
// Or just raise it. Longest edge, in pixels.
add_filter( 'big_image_size_threshold', function () {
return 3840;
} );
Ano ba talaga ang ginagawa ng WordPress
Mula pa noong WordPress 5.3, sinusukat ang pinakamahabang gilid ng bawat upload. Kung mas malaki ang gilid na iyon kaysa sa big_image_size_threshold — 2560px sa default — ini-re-encode ng WordPress ang image pababa sa limitasyong iyon, sini-save ito bilang your-photo-scaled.jpg, at binabago ang attachment metadata para ang full na size ay tumuro na sa scaled na kopya.
Hindi binubura ang orihinal mo. Nananatili ito sa disk sa orihinal nitong filename, nakatala sa attachment metadata, at maaabot sa PHP sa pamamagitan ng wp_get_original_image_path(). Pero walang naghahain nito sa front end. Hindi ang block editor, hindi ang srcset, hindi ang preview sa media library. Nakaupo lang ito bilang archive copy.
Lahat ng kasunod ay ginagawa mula sa scaled na file, hindi mula sa in-upload mo:
| Size | Pinagmulan nito |
|---|---|
full | ang -scaled na kopya |
large, medium_large, medium, thumbnail | ang -scaled na kopya |
Custom sizes mula sa add_image_size | ang -scaled na kopya |
Mga size ng theme at plugin, hal. woocommerce_thumbnail | ang -scaled na kopya |
Mga srcset candidate | ang -scaled na kopya |
Ang iisang katotohanang iyon ang dahilan kung bakit marami ang nabibitag dito.
Bakit ito ang karaniwang sanhi ng “malabo ang matalas kong image”
Dalawang bagay ang sabay na nangyayari, at iisa lang doon ang halata.
Ang halata ay resolution. Nag-upload ka ng 4000px na larawan para sa full-width na hero. 2560px ang iaabot ng WordPress sa browser. Sa karaniwang display na pumupuno sa 1600px na container, walang makakapansin. Sa 2x retina screen, ang container na iyon ay humihingi ng humigit-kumulang 3200 tunay na pixel, 2560 ang natatanggap, at ini-upscale ng browser ang kulang. Malabo ang gilid, lusaw ang detalye, at nagiging malabo ang teksto sa loob ng image.
Ang hindi halata ay ang re-encoding. Ang -scaled na kopya ay hindi lossless na crop ng file mo. Dine-decode ng WordPress ang upload mo, nire-resize ito, at kino-compress ulit sa sarili nitong JPEG quality setting. Kung compressed JPEG na galing sa Lightroom o sa telepono ang orihinal mo, pangalawang henerasyon na ang encode na iyon: compression artifacts sa ibabaw ng compression artifacts. Pinakamalala ang tama sa pinong detalye, film grain, at patag na gradient. Makikita mo ito kahit mukhang sapat ang pixel dimensions.
Kumpirmahin mo bago ka magbago ng kahit ano. Buksan ang image sa bagong tab at basahin ang filename sa URL. Ang -scaled.jpg ay ibig sabihin pumutok ang cap. Ibang usapan naman ang dimension suffix tulad ng -1536x1024.jpg — masyadong maliit ang intermediate na pinili ng srcset, at walang maitutulong ang threshold filter doon.
Sa server:
find wp-content/uploads -name '*-scaled.*' | wc -l
Kung malaki ang numerong iyon, matagal nang hinuhubog ng cap ang buong library mo.
Puwede mo ring i-drop ang isang file sa disable scaled images tool para makita kung tatamaan ba ng threshold ang isang source at sa anong dimensyon mapupunta ang scaled na kopya, bago ka magpasya sa isang setting.
Ang totoong palitan
Sinasabi ng karamihan sa mga artikulo na disk space ang gastos ng pag-disable sa cap. Baliktad iyon, at mahalagang maging tumpak dito.
Bahagyang bumababa ang disk usage kada image. Kapag bukas ang threshold, iniimbak ng WordPress ang orihinal mo at ang malaking scaled na kopya. Kapag patay ito, orihinal lang ang natitira. Isang file, hindi dalawa.
Tumataas ang bandwidth at page weight, minsan nang malaki. Kapag patay ang cap, ang full ay ang hindi ginalaw mong upload. Kahit anong nagli-link o nagre-render ng full size — isang lightbox, gallery plugin, “view original” na link, o theme na humihingi ng full para sa hero images — magpapadala na ngayon ng file na puwedeng 6MB imbes na 900KB. Sa mobile, tunay na problema iyon sa Largest Contentful Paint, at hindi ka laging maililigtas ng image CDN dahil may ilan sa kanilang pinapadaan na lang ang file kapag lumampas sa isang laki.
Tumataas ang memory habang nag-uupload. Mas malaki ang kinakaing memory ng pag-resize ng 6000px na image sa PHP kaysa sa 2560px. Sa murang shared hosting na mababa ang PHP memory limit, malamang na mag-umpisa kang magkaroon ng palpak na upload o kulang na thumbnails kapag na-disable mo ang cap. Ang pagtaas ng threshold sa 3840 sa halip na alisin ito ang mas ligtas na bersiyon ng parehong pagbabago.
Kaya nga ang makatuwirang default para sa karamihan ng site ay taasan ang numero, hindi alisin. Tama ang pag-alis kapag naghahain ka ng mga imaheng talagang nangangailangan ng buong resolution: print-quality na galleries, product zoom, architectural photography, kahit anong inaasahang susuriin ng user ang orihinal.
Paano ilapat nang maayos ang pagbabago
1. Ilagay ang filter sa lugar kung saan ito mabubuhay. Umuubra ang functions.php sa isang child theme. Mas mabuti ang isang-file na mu-plugin, dahil hindi ito basta mabubura ng pagpapalit ng theme.
<?php
/**
* Plugin Name: Raise big image threshold
*/
add_filter( 'big_image_size_threshold', function () {
return 3840;
} );
2. I-upload ulit ang mga apektadong image. Ito ang hakbang na nilalaktawan ng mga tao at saka nila sasabihing hindi umubra ang filter. Isang beses lang sinusuri ang threshold, sa pag-upload. Panghabambuhay na dala ng mga umiiral na attachment ang lumang metadata nila. Burahin ang attachment at i-upload ulit, tapos ayusin ang mga reference sa mga post mo.
3. Huwag asahang may maililigtas ang thumbnail regeneration. Ang wp media regenerate sa WP-CLI ay nagbubuo lang ulit ng intermediate sizes mula sa kung ano ang tinatawag ng metadata na full file — at para sa naka-cap nang image, ang -scaled na kopya iyon. Hindi nito maibabalik ang detalyeng itinapon na. Kapaki-pakinabang ito bilang linis pagkatapos mag-upload ulit. Walang silbi bilang pang-ayos mag-isa.
4. Tingnan ang resulta, huwag basta ipagpalagay. Pagkatapos mag-upload ulit, buksan ang image sa front end at basahin ulit ang filename. Kapag walang -scaled, buhay ang filter.
Kailan mali ang pag-disable
Kung wala pang 2560px ang mga source image mo at malabo pa rin ang itsura, hindi kailanman sangkot ang threshold. Ang problema ay mas malaki ang display box kaysa sa pixel na mayroon ka, at ang sagot ay mas malaking source file o mas maliit na container — hindi ang filter na ito.
Kung ang inihaing filename ay may dimension suffix sa halip na -scaled, pumili ang srcset ng maliit na candidate. Kadalasan, hindi tugma ang idineklarang content width ng theme mo sa kahon kung saan talaga nirerender ang image. Walang binabago ang pagpatay sa cap dito.
At kung may plugin na binabago ang src mo papunta sa isang optimizer o CDN proxy, wala sa mga ito ang mag-a-apply hangga’t hindi mo natitingnan kung ano ang inihahain ng proxy na iyon. Ihambing mo kung ano dapat ang ginagawa ng WordPress laban sa aktuwal na kinakarga ng browser; kapag hindi sila tugma, tingnan mo kung ano ang nasa pagitan nila.
FAQ
Mga Tanong
Paano ko i-disable ang scaled images sa WordPress?
Magdagdag ng filter sa big_image_size_threshold na nagbabalik ng false. Ilagay ito sa functions.php o sa maliit na mu-plugin. Kapag false ang binalik, tuluyang napapatay ang cap, kaya nananatili sa orihinal na dimensyon ang mga upload at walang nagagawang -scaled na kopya. Kapag numero naman ang binalik, gaya ng 3840, tinataasan mo lang ang cap sa halip na alisin ito.
Ano ang -scaled na suffix sa isang WordPress filename?
Tanda ito ng na-re-encode na kopyang ginawa ng WordPress dahil lumampas ang upload mo sa 2560px sa pinakamahabang gilid. Ang kopyang iyon ang nagiging full size sa buong site mo. Nananatili sa disk ang orihinal na file mo sa normal nitong pangalan pero walang nagli-link doon sa front end, at galing sa scaled na kopya ang bawat thumbnail at srcset candidate.
Mas malaki bang disk space ang kinakain kapag na-disable ang scaled images?
Kada image, kadalasan ay bahagyang mas maliit pa nga, dahil tumitigil ang WordPress sa pagsulat ng pangalawang malaking file katabi ng orihinal mo. Bandwidth ang tunay na gastos, hindi storage. Kapag patay ang cap, kahit anong nagli-link sa full size ay maghahain ng hindi ginalaw mong upload, na puwedeng ilang megabyte sa isang mobile connection.
Maaayos ba ng pag-disable sa threshold ang mga imaheng malabo na?
Hindi. Bagong upload lang ang naaapektuhan ng filter. Ang mga image na nasa library na ay may metadata pa ring nakaturo sa scaled na kopya nila, at ang pag-regenerate ng thumbnails ay nagbubuo lang ulit ng mga size mula sa parehong naka-cap na file. Para mabawi ang resolution, kailangan mong burahin ang attachment at i-upload ulit ito pagkatapos maging aktibo ang filter.
Tama bang panatilihin ang 2560px na threshold?
Para sa karamihan ng content site, oo. Sakop ng 2560px na source ang 1280px na display box sa 2x pixel density, at iyon ang karaniwang kaso. Itaas mo ito sa 3840 kung may full-bleed na heroes ka, product zoom, o photography galleries. I-disable mo lang ito nang tuluyan kapag talagang kailangan mong maghain ng hindi ginalaw na orihinal.