Ako zakázať rôzne veľkosti obrázkov vytvorených automaticky systémom WordPress

 

Ako zakázať rôzne veľkosti obrázkov vytvorených automaticky systémom WordPress

Keď je inštalácia WordPress staršia ako les a jej obsah sa aktualizuje s určitou pravidelnosťou, ako je to v prípade tohto, ktorý práve čítate, hromadenie obrázkov sa môže stať veľkým problémom, nikdy lepšie povedané.

Dlhodobé hromadenie obrázkov má z dlhodobého hľadiska následky.

Inody alebo inody

Tieto neznáme. Inode je akýkoľvek súbor alebo priečinok, ktorý sa nachádza na serveri. Patria sem obrázky, e-maily, protokoly, skripty, súbory štýlov atď. Všetko sa počíta ako 1, bez ohľadu na to, akú má hmotnosť.

Prevažná väčšina hostiteľov, napriek tomu, že inzerujú "neobmedzený priestor", má vždy obmedzený počet inódov. Niektorí z nich sú síce veľmi veľkorysí, napríklad LucusHost ich obmedzuje na viac ako dostatočný počet jedného milióna, ale u iných hostiteľov môže byť tento počet výrazne nižší.

Možno jedného dňa budete musieť migrovať a nebudete môcť, ak sa nezbavíte obrovského množstva týchto inodes, bol som vyhodený z hostingu z tohto dôvodu.

Plytvanie zdrojmi

Umiestnenie hôr nepoužívaných obrázkov je plytvanie miestom na disku, ktoré by sa mohlo použiť na niečo potrebné, a tiež prispieva k tomu, že nie je tak ľahké, ako by malo byť.

Je tiež veľmi pravdepodobné, že ak ste ich roky zanedbávali, mnohé z nich nie sú optimalizované alebo sa z nejakého dôvodu (napríklad zmena šablóny alebo pozostatky doplnku) rozbili a pridali ďalšie večné požiadavky a väčšiu spotrebu zdrojov.

Dôležité je mať plán

A pred plánom, nedávne zálohovanie celého blogu, vrátane databázy. Vždy to urobte.

Cieľom je znížiť počet obrázkov na dva. Pôvodný nahraný obrázok (v dostatočnej veľkosti a v šablóne, ktorá umožňuje jeho zobrazenie v ľubovoľnej mierke) plus miniatúra.

Okrem toho, že máme plán, musíme vedieť určiť, ktoré obrázky sa používajú a ktorých sa môžeme bez problémov zbaviť. Na to je nevyhnutné vedieť, čo ich vytvára.

Prvou a najdôležitejšou vecou je skontrolovať všetky používané veľkosti a zistiť, kde sa jednotlivé veľkosti generujú. V mnohých prípadoch sa vytvárajú zo šablóny z kódu, ktorý sa zvyčajne nachádza v súbore functions.php a zvyčajne je viac-menej takýto (závisí od každej šablóny a nemusí tam byť alebo dokonca ani neexistuje, ako v prípade GeneratePress).

add_theme_support( 'post-thumbnails' );
set_post_thumbnail_size( 223, 137, true );
add_image_size( 'schema-featured', 680, 350, true ); // Featured.
add_image_size( 'schema-featured2', 1360, 700, true ); // Featured x 2.
add_image_size( 'schema-related', 211, 150, true ); // Related.
add_image_size( 'schema-related2', 422, 300, true ); // Related x 2.
add_image_size( 'schema-widgetthumb', 70, 60, true ); // Widget.
add_image_size( 'schema-widgetthumb2', 140, 120, true ); // Widget x 2.
add_image_size( 'schema-widgetfull', 300, 200, true ); // Bočný panel na celú šírku.
add_image_size( 'schema-slider', 772, 350, false ); // Slider.
add_image_size( 'schema-slider2', 1544, 700, false ); // Slider x 2.

Tento príklad je z functions.php šablóny Schema, ktorú som používal pred tou, ktorú používam teraz.

Tu to bolo jednoduché, stačilo zmeniť true na false (alebo odstrániť riadok), aby sa pri nahrávaní novej veľkosti nevygenerovala. Taktiež vám to povedalo, na čo sa používa. Pred "obmedzením" veľkosti sa uistite, že nebudete používať funkciu, pre ktorú sa generuje.

Toto sa vzťahuje len na nové obrázky, ktoré nahráte, nie na obrázky, ktoré ste už nahrali. O tom, ako sa ich zbaviť, budeme hovoriť neskôr.

Všimnite si, že niektoré vaše pluginy a widgety môžu vytvárať kópie aj v iných veľkostiach na konkrétne použitie. Budete si musieť pozrieť dokumentáciu ku každej z týchto vecí a sledovať cestu k obrázkom, aby ste našli ich zdroj a cieľ.

Skôr ako budem pokračovať, predpokladám, že ste už stihli zistiť, odkiaľ jednotlivé obrázky pochádzajú, a že viete, že sa zaobídete bez toho, ktorý ste sa rozhodli odstrániť.

Miniatúry, ktoré vytvára WordPress

Práve tu sa zvyčajne prejavuje štíhlosť. Stále ich nazývajú miniatúrami, ale ide o to, že vznikajú aj iné, oveľa tučnejšie veľkosti.

Od verzie 5.3 WordPress generuje sedem ďalších obrázkov pre každý obrázok, ktorý je nahraný prostredníctvom knižnice médií a/alebo z vizuálneho editora. Takže pri každom nahratí obrázka sa ich pridá osem.

Ak pridáme ďalšie možné šablóny, doplnky a widgety, môže ich byť až 12 alebo viac.

Tieto sú vytvorené systémom WordPress:

Miniatúra (150x150px)
Stredná veľkosť (300x300px)
Veľká veľkosť (1024x1024px)

Stredne veľký 768px
2x stredne veľký 1536px
2x veľký 2048px
Zmenšené 2560px

Z prvých troch sa môžeme zaobísť bez 300 a 1024 a zmenšiť miniatúru zo 150x150 na 100x100. Ak to chcete urobiť, stačí prejsť do Nastavenia/Médiá a zmeniť veľkosti a nastaviť 0 (nulu) na tých, ktoré nechcete, aby sa generovali.

V mojom prípade sa v knižnici médií zobrazí miniatúra s rozmermi 100x100. Znížením počtu a veľkosti sme už ušetrili niekoľko stoviek, možno tisícok obrázkov a kus Kb alebo Mb.

Pre ostatné štyri môžeme "odregistrovať" vytvorenie každého z nich samostatne pridaním týchto úryvkov do functions.php našej šablóny alebo prostredníctvom pluginu Code Snippets.

Zakázať šírku 768px, proporcionálne

function shapeSpace_disable_medium_large_images($sizes) {
	
	unset($sizes['medium_large']); // disable 768px size images
	return $sizes;
	
}
add_filter('intermediate_image_sizes_advanced', 'shapeSpace_disable_medium_large_images');

Zakázať šírku 1536px, proporcionálne

function shapeSpace_disable_2x_medium_large_images($sizes) {
	
	unset($sizes['1536x1536']); // disable 2x medium-large size
	return $sizes;
	
}
add_filter('intermediate_image_sizes_advanced', 'shapeSpace_disable_2x_medium_large_images');

Zakázať šírku 2048px, proporcionálne

function shapeSpace_disable_2x_large_images($sizes) {
	
	unset($sizes['2048x2048']); // disable 2x large size
	return $sizes;
	
}
add_filter('intermediate_image_sizes_advanced', 'shapeSpace_disable_2x_large_images');

Zakázať zmenšený obrázok (2560px)

add_filter('big_image_size_threshold', '__return_false');

Ak dávate prednosť použitiu jediného kódu pre všetky vygenerované veľkosti, ktoré chcete zakázať, vrátane tých ďalších možných veľkostí, môžete tento kód vytiahnuť a odstrániť riadky, ktoré chcete zachovať alebo kontrolovať z nastavení médií WordPress, ako v prípade prvých troch.

Zakázať všetky veľkosti

// Zakázať generované veľkosti obrázkov
function shapeSpace_disable_image_sizes($sizes) {
	
	unset($sizes['thumbnail']); // zakázať veľkosť miniatúry
	unset($sizes['medium']); // vypnúť strednú veľkosť
	unset($sizes['large']); // vypnúť veľkú veľkosť
	unset($sizes['medium_large']); // vypnúť stredne veľkú veľkosť
	unset($sizes['1536x1536']); // vypnúť 2x stredne veľkú veľkosť
	unset($sizes['2048x2048']); // vypnúť 2x veľkú veľkosť
	
	return $sizes;
	
}
add_action('intermediate_image_sizes_advanced', 'shapeSpace_disable_image_sizes');

// Zakázať zmenšené veľkosti obrázkov
add_filter('big_image_size_threshold', '__return_false');

// Zakázať ostatné veľkosti obrázkov
function shapeSpace_disable_other_image_sizes() {
	
	remove_image_size('post-thumbnail'); // Zakáže obrázky pridané pomocou funkcie set_post_thumbnail_size ()
	remove_image_size('another-size'); // Zakázať akúkoľvek inú veľkosť pridaného obrázka
	
}
add_action('init', 'shapeSpace_disable_other_image_sizes');

Zdroj: blog Jeffa Starra. Ako vypnúť automaticky generované obrázky WordPress - kompletný sprievodca. Odporúčam vám skopírovať kód z tohto príspevku, veľmi odporúčam, v prípade, že tu bolo niečo vložené nesprávne.

Jeff Starr je tiež tvorcom niekoľkých zásuvných modulov a jeden z nich robí práve toto (neskúšal som ho) v prípade, že si nechcete komplikovať život.

Načítanie zvyšných obrázkov

Predpokladá sa, že sme už zakázali vytváranie všetkých tých ďalších veľkostí, ktoré nepotrebujeme, aby sa vytvárali pri načítaní obrázka.

Teraz nahráme testovací obrázok a overíme, či sa nevytvárajú žiadne ďalšie veľkosti. V mojom prípade to vyzerá takto:

Ako zakázať rôzne veľkosti obrázkov vytvorených automaticky systémom WordPress 1

Ako však odstrániť všetky tie nahrané obrázky, ktoré teraz zostali nevyužité?

Existujú aspoň dve nie príliš komplikované možnosti.

Ručne. O niečo zdĺhavejšie a časovo náročnejšie. Môžete ich vyhľadať v správcovi súborov v paneli Cpanel alebo v klientovi FTP podľa jedinečných reťazcov názvov súborov, ako napríklad 300x300, 768x, 1536x atď., a odstrániť ich.

Ak máte veľa obrázkov, môžete použiť zásuvný modul Regenerovať miniatúry, ktorý stále dobre plní svoju úlohu.

Tento zásuvný modul, klasický zásuvný modul Alexa Millsa, slúži na regeneráciu miniatúr nahraných obrázkov. Môžete to urobiť po jednom z knižnice médií alebo naraz, ak ich nie je príliš veľa.

Po nainštalovaní a aktivácii sa po otvorení z ponuky "Nástroje/Regenerovať miniatúry" zobrazí toto:

Tam uvidíte zoznam takmer všetkých veľkostí používaných WordPressom, ale keďže sme už "odregistrovali" vytvorenie väčšiny z nich, je vhodné vyskúšať to s jedným testovacím obrázkom zaškrtnutím možnosti"Odstrániť súbory miniatúr starých veľkostí bez registrácie...".

Ako zakázať rôzne veľkosti obrázkov vytvorených automaticky systémom WordPress 2

Ak všetko prebehlo v poriadku pri teste jedného obrázka, môžete teraz hromadne regenerovať miniatúry pre všetky prílohy XXXX (prvé tlačidlo). Tým sa odstránia všetky nadbytočné veľkosti naraz.

Urobil som to nedávno a pamätám si, že hromadná regenerácia zlyhala, hádam preto, že tam bolo toľko obrázkov (viac ako 20K) a proces bol v niektorých bodoch prerušený, takže som sa rozhodol urobiť to v blokoch po 200 obrázkov z knižnice médií.

Po dokončení úlohy môžete zásuvný modul odinštalovať.

Dobrým nápadom je teraz, keď ste získali dostatok miesta, bezplatne vytvoriť optimalizované kópie súborov .jpg vo formáte .webp pomocou doplnku Litespeed Cache, ak váš hosting beží pod systémom Litespeed.


Suscríbete por email para recibir las viñetas y los artículos completos y sin publicidad

Súvisiace články