Impedire a Wordpress di generare dimensioni medio-grandi di 768 px di upload di immagini?


10

Ho seguito le linee guida per impedire a wordpress di generare molte dimensioni diverse per le singole immagini scaricate tramite le dimensioni per miniature, medie e grandi fino a 0 in Impostazioni> Media e mi sono sbarazzato di tutte le istanze di add_image_size e set_post_thumbnail_size nel file Functions.php del mio tema. Tuttavia, quando carico nuove immagini, Wordpress sta ancora generando una versione di larghezza 768 px oltre la dimensione originale originale. Credo che abbia qualcosa a che fare con questo aggiornamento, ma mi chiedo se c'è un modo per impedirlo? Credo di aver letto alcuni thread in cui le persone l'hanno raggiunto inavvertitamente cercando di fare qualcos'altro, ma sto cercando un metodo chiaro.


Ti rendi conto che WordPress lo fa per ridurre il carico del server e velocizzare il tuo sito, giusto?
Kenneth Odle,

Risposte:


16

Per rimuovere la medium_largedimensione dell'immagine puoi provare a rimuoverla con il intermediate_image_sizesfiltro:

add_filter( 'intermediate_image_sizes', function( $sizes )
{
    return array_filter( $sizes, function( $val )
    {
        return 'medium_large' !== $val; // Filter out 'medium_large'
    } );
} );

Non sono sicuro se stai cercando di rimuovere tutte le dimensioni intermedie, ma puoi provare:

add_filter( 'intermediate_image_sizes', '__return_empty_array', 999 );

dove __return_empty_array() ` è una funzione principale incorporata.

Dovremmo notare che non è possibile rimuoverlo con

remove_image_size( 'medium_large' );

perché non viene aggiunto con add_image_size()e quindi non fa parte $_wp_additional_image_sizesdell'array globale o wp_get_additional_image_sizes();


sì, è anche possibile cambiare l' medium_large_size_wopzione in 0, ma non possiamo farlo tramite /wp-admin/options.phpperché sembra che ci sia un problema con un valore 0 lì (è in realtà quello che ho provato prima di scrivere la risposta ;-), quindi dobbiamo impostarlo tramite l'API delle impostazioni o manualmente nella wp_optionstabella.
Birgire,

7

Rimuovi le dimensioni dell'immagine allo stesso modo del codice core di wordpress:

add_filter('intermediate_image_sizes', function($sizes) {
    return array_diff($sizes, ['medium_large']);
});

Tieni presente che in medium_largegenere è di buone dimensioni srcset, rimuovilo solo se hai capito come srcsetfunziona, se hai già dimensioni simili lì.


2

questo funzionerà


function paulund_remove_default_image_sizes( $sizes) {
    unset( $sizes['medium_large']);
    return $sizes;
}
add_filter('intermediate_image_sizes_advanced','paulund_remove_default_image_sizes');

https://developer.wordpress.org/reference/hooks/intermediate_image_sizes_advanced/


Sebbene ciò non abbia creato l'immagine stessa, ha comunque creato la voce nella matrice degli allegati, quindi una voce falsa con il 769x alla fine dell'URL. L'utilizzo del filder predefinito intermedi_image_sizes si è sbarazzato di creare l'immagine e di non mostrare una voce per essa nell'array.
lowtechsun
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.