Ocultar tamaños de imagen personalizados de la biblioteca de medios

4

Quiero ocultar algunos tamaños de imagen personalizados del cargador de medios:

Elsiguientecódigo( publicado aquí ) funciona solo para los tamaños de imagen predeterminados:

function remove_image_sizes($sizes) {
    unset($sizes['image-name']);
    return $sizes;
}
add_filter('image_size_names_choose', 'remove_image_sizes');

¿Existe una solución similar para desactivar los tamaños de imagen personalizados?

    
pregunta Christine Cooper 10.04.2013 - 21:47

1 respuesta

5

El uso de unset y intermediate_image_sizes_advanced funcionará, pero solo en las imágenes cargadas después de se agrega la función. Para cambiarlo por las imágenes existentes, debe regenerarlas con un complemento (en esencia, eliminar ese tamaño de imagen) o simplemente ocultar esa opción para que no sea visible.

Probado en 3.5.1

// add custom image size
function mytheme_95344() {
        add_image_size('x-la',800,800, false);
}
add_action( 'after_setup_theme', 'mytheme_95344' );

// remove it
function remove_image_size_95344($sizes) {
    unset($sizes['x-la']);
    return $sizes;
}
add_filter('intermediate_image_sizes_advanced', 'remove_image_size_95344');

Por lo tanto, este tamaño x-la todavía se mostrará para las imágenes antes de que se agregue la función unset .

Para eliminar esto puedes.

  1. Regenera todas las imágenes (un dolor).
  2. Ocúltalo de la pantalla usando image_size_names_choose

    function remove_image_size_95344($possible_sizes) {
    
     unset( $possible_sizes['x-la'] );
     return $possible_sizes;
    
    }  
    add_filter('image_size_names_choose', 'remove_image_size_95344');
    

Para aclarar los filtros :

intermediate_image_sizes_advanced : efectúa la carga real
image_size_names_choose : afecta la visibilidad del menú desplegable en el cuadro de medios

También tenga en cuenta :

Podría ser que un tema o complemento ya esté utilizando el filtro image_size_names_choose en algún lugar, ya que es muy común cuando se usa add_image_size para imágenes personalizadas. Si ese es el caso, aún puedes usar un segundo filtro image_size_names_choose y configurar $priority para que se active después de el primero.

 //default filter adding your custom sizes to dropdown
 // not having a 3rd parameter will default to priority of 10
 add_filter( 'image_size_names_choose', 'my_insert_custom_image_sizes' );
 //second use of same filter to remove images note the additional 15 to fire after the above
 add_filter( 'image_size_names_choose', 'remove_image_sizes', 15);

Para ver cómo funcionan los filtros: enlace

    
respondido por el Wyck 10.04.2013 - 22:33

Lea otras preguntas en las etiquetas