¿Evitar que Wordpress genere un tamaño medio_grande de 768 px de carga de imágenes?

10

He seguido pautas para evitar que Wordpress genere muchos tamaños diferentes para la carga de imágenes individuales a través de los tamaños para miniatura, mediano y grande a 0 en Configuración> Medios y me he librado de todas las instancias de add_image_size y set_post_thumbnail_size en el archivo functions.php de mi tema. Sin embargo, cuando subo nuevas imágenes, Wordpress sigue generando una versión de 768 píxeles de ancho más allá del tamaño original completo. Creo que tiene algo que ver con esta actualización, pero me pregunto si hay alguna forma de evitar que suceda. Creo que he leído algunos hilos donde la gente lo ha logrado inadvertidamente tratando de hacer otra cosa, pero estoy buscando un método claro.

usuario3597545
fuente
Te das cuenta de que WordPress hace esto para reducir la carga del servidor y acelerar tu sitio, ¿verdad?
Kenneth Odle

Respuestas:

16

Para eliminar el medium_largetamaño de la imagen, puede intentar eliminarlo con el intermediate_image_sizesfiltro:

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

No estoy seguro si está tratando de eliminar todos los tamaños intermedios, pero luego podría probar:

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

where __return_empty_array() ` es una función central incorporada.

Debemos tener en cuenta que no es posible eliminarlo con

remove_image_size( 'medium_large' );

porque no se agrega con add_image_size()y, por lo tanto, no forma parte de la $_wp_additional_image_sizesmatriz global o wp_get_additional_image_sizes();

Birgire
fuente
sí, también es posible cambiar la medium_large_size_wopción 0, pero no podemos hacerlo /wp-admin/options.phpporque parece tener un problema con un valor 0 (eso es lo que intenté primero antes de escribir la respuesta ;-), por lo que debemos configurarlo a través de la configuración API o manualmente en la wp_optionstabla.
Birgire
7

Elimine el tamaño de la imagen de la misma manera que lo hace el código central de WordPress:

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

Tenga en cuenta que medium_largegeneralmente es un buen tamaño srcset, solo quítelo si tiene conocimiento de cómo srcsetfunciona, si ya tiene tamaños similares allí.

Dima Stefantsov
fuente
2

esto funcionará


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/

Sil2
fuente
Si bien esto no creó la imagen en sí, creó la entrada en la matriz de archivos adjuntos, por lo que es una entrada falsa con el 769x al final de la url. El uso del relleno predeterminado de tamaños de imagen intermedios eliminó la creación de la imagen y no mostró una entrada en la matriz.
lowtechsun