Ocultar tamanhos de imagem personalizados da biblioteca de mídia

4

Desejo ocultar alguns tamanhos de imagem personalizados do carregador de mídia:

Oseguintecódigo( publicado aqui ) funciona somente para os tamanhos de imagem padrão:

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

Existe uma solução semelhante para remover tamanhos de imagem personalizados?

    
por Christine Cooper 10.04.2013 / 21:47

1 resposta

5

O uso de unset e intermediate_image_sizes_advanced funcionará, mas apenas em imagens carregadas depois que a função for adicionada. Para alterá-lo para imagens existentes, você precisa regenerá-las usando um plug-in (em essência, excluir esse tamanho de imagem) ou apenas ocultar essa opção de estar visível.

Testado em 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');

Portanto, esse x-la size ainda será exibido para as imagens antes que a função unset seja adicionada.

Para remover isso, você pode.

  1. Regenere todas as imagens (uma dor).
  2. Esconda a tela 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 esclarecer os filtros :

intermediate_image_sizes_advanced - efetua o upload real de image_size_names_choose - afeta a visibilidade da lista suspensa na caixa de mídia

Observe também :

Pode ser que um tema ou plug-in já esteja usando o filtro image_size_names_choose em algum lugar, pois é muito comum usar add_image_size para imagens personalizadas. Se esse for o caso, você ainda poderá usar um segundo filtro image_size_names_choose e definir o $priority para disparar após o primeiro.

 //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 como os filtros funcionam: enlace

    
por Wyck 10.04.2013 / 22:33