Cum să dezactivezi WordPress să creeze miniaturi?
Am căutat pe internet mult timp pentru a afla cum să dezactivez WordPress să creeze multiple miniaturi.
Am văzut în majoritatea tutorialelor să setez toate imaginile la 0 în secțiunea media. Am făcut asta, dar când mă uit în folderul uploads, încă se creează multiple imagini.
Nu pot găsi nicio soluție pentru asta. Motivul pentru care vreau acest lucru este să economisesc spațiu pe contul meu de hosting.

Pentru a extinde răspunsul lui Max Yudin, ar trebui să folosești filtrul intermediate_image_sizes_advanced
, și nu image_size_names_choose
. Adaugă în functions.php
function add_image_insert_override($sizes){
unset( $sizes['thumbnail']);
unset( $sizes['medium']);
unset( $sizes['large']);
return $sizes;
}
add_filter('intermediate_image_sizes_advanced', 'add_image_insert_override' );
O altă opțiune mai ușoară care cred că funcționează este să mergi la Setări-->Media și să setezi fiecare casetă pentru lățime și înălțime la 0

Accesați pagina Setări > Media din panoul de administrare WordPress. În secțiunea Dimensiuni imagine, schimbați toate valorile la 0.
Salvați modificările. Acest lucru va opri WordPress din generarea miniaturilor, dimensiunilor medii și mari pentru fiecare imagine încărcată.
De asemenea, veți observa că atunci când încercați să inserați o imagine, caseta derulantă "Dimensiune" va dispărea.

Dacă îmi amintesc corect, trebuie să unset
toate dimensiunile implicite și să adaugi noua dimensiune Size
acolo:
<?php
function mxdCustomImageSizes($sizes) {
unset( $sizes['thumbnail']);
unset( $sizes['medium']);
unset( $sizes['large']);
unset( $sizes['full'] );
$myimgsizes = array(
'full-size' => __( 'Dimensiune completă' )
);
if( !empty($sizes) )
return array_merge($sizes, $myimgsizes);
else
return $myimgsizes;
}
add_filter('intermediate_image_sizes_advanced', 'mxdCustomImageSizes');
Și apoi adaugi dimensiunea full-size
care este 99999x99999
chiar dedesubt, care este o dimensiune aproape incredibilă, deci este dimensiune completă.
add_image_size( 'full-size', 99999, 99999, false );
Te rog să mă corectezi dacă ceva nu este în regulă
P. S. Vei avea nevoie de un plugin pentru a "salva ca" toate imaginile conform noilor setări. Pot recomanda pluginul Regenerate Thumbnails.
P. P. S. Când este singura opțiune, oricum va trebui să alegi una dintr-o singură :). Nu există o modalitate directă de a face o singură dimensiune selectată în fereastra Media nouă (3.5.1).

Salut Max, cred că acesta este filtrul greșit, image_size_names_choose
este pentru output-ul când selectezi imagini în caseta media.

Pentru cea mai recentă versiune de WordPress cu pluginul WooCommerce activat, folosește acest cod:
function add_image_insert_override($sizes){
unset($sizes['thumbnail']);
unset($sizes['medium']);
unset($sizes['medium_large']);
unset($sizes['large']);
unset($sizes['1536x1536']);
unset($sizes['2048x2048']);
unset($sizes['blog-isotope']);
unset($sizes['product_small_thumbnail']);
unset($sizes['shop_catalog']);
unset($sizes['shop_single']);
unset($sizes['shop_single_small_thumbnail']);
unset($sizes['shop_thumbnail']);
unset($sizes['woocommerce_thumbnail']);
unset($sizes['woocommerce_single']);
unset($sizes['woocommerce_gallery_thumbnail']);
return $sizes;
}
add_filter('intermediate_image_sizes_advanced', 'add_image_insert_override' );
add_filter('max_srcset_image_width', create_function('', 'return 1;'));
Dar ar fi bine să lași o miniatură mică (thumbnail
) și o imagine de dimensiune medie (medium
).
P.S. Poți vedea toate dimensiunile înregistrate instalând pluginul Regenerate Thumbnails. Și nu uita de add_image_size()
generat în tema ta.

Da, exact asta face răspunsul lui Chris O, dar pe hook-ul not-advanced și folosind funcția încorporată __return_empty_array.

function remove_default_image_sizes( $sizes) {
unset($sizes['thumbnail']); // Elimină dimensiunea implicită 'thumbnail'
unset($sizes['medium']); // Elimină dimensiunea implicită 'medium'
unset($sizes['large']); // Elimină dimensiunea implicită 'large'
return $sizes;
}
add_filter('intermediate_image_sizes_advanced','remove_default_image_sizes');
Nu uita să return $sizes;
ca în exemplu.
Apoi adaugă dimensiuni noi pentru imagini astfel...
if(function_exists('add_image_size')){
add_image_size('my_100x100_crop',100,100,true); // Mod crop (decupare)
add_image_size('my_100x100_resize',100,100); // Mod resize (redimensionare)
}
Testat!

Am întâmpinat probleme cu utilizarea filtrului intermediate_image_sizes_advanced
pe câteva site-uri recent. Se pare că în WordPress 5.3 intermediate_image_sizes
este mai fiabil.
Aș recomanda eliminarea dimensiunilor nedorite astfel:
add_filter('intermediate_image_sizes', 'remove_default_img_sizes', 10, 1);
function remove_default_img_sizes($sizes)
{
$targets = ['medium', 'medium_large', 'thumbnail'];
foreach ($sizes as $size_index=>$size) {
if (in_array($size, $targets)) {
unset($sizes[$size_index]);
}
}
return $sizes;
}

Deoarece WordPress are adesea WooCommerce instalat, această funcție dezactivează regenerarea imaginilor atunci când este introdusă în functions.php (de exemplu, într-un child theme sau prin intermediul unui plugin de fragmente de cod, deoarece altfel ar putea fi suprascrisă la actualizări).
add_filter( 'woocommerce_background_image_regeneration', '__return_false' );

Dezactivează asta cu adevărat regenerarea imaginilor sau înseamnă doar să nu o faci în fundal, dar se va întâmpla totuși în prim-plan?

În cazul meu, nu a fost suficient să dezactivez generarea de miniaturi, nici din administrare, nici din cod.
Apoi am găsit un plugin excelent.
ThumbPress – Opriți generarea de miniaturi inutile (de Codexpert, Inc)
