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.
- Regenere todas as imagens (uma dor).
-
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