Je souhaite masquer quelques tailles d'image personnalisées à l'utilitaire de téléchargement multimédia:
Le code suivant ( publié ici ) fonctionne uniquement pour les tailles d'image par défaut:
function remove_image_sizes($sizes) {
unset($sizes['image-name']);
return $sizes;
}
add_filter('image_size_names_choose', 'remove_image_sizes');
Existe-t-il une solution similaire pour supprimer les tailles d’image personnalisées?
Utiliser unset
et intermediate_image_sizes_advanced
fonctionnera, mais uniquement sur les images téléchargées après , la fonction est ajoutée. Pour le changer en fonction des images existantes, vous devez les régénérer à l'aide d'un plug-in (en supprimant essentiellement la taille de l'image) ou simplement empêcher cette option d'être visible.
Testé sur 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');
Donc, cette taille x-la
sera toujours affichée pour les images avant l’ajout de la fonction unset
.
Pour supprimer cela, vous pouvez.
Cachez-le de l'affichage en utilisant 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');
Pour clarifier les filtres :
intermediate_image_sizes_advanced
- affecte le téléchargement réelimage_size_names_choose
- affecte la visibilité du menu déroulant dans la boîte multimédia
Notez également :
Il se peut qu'un thème ou un plug-in utilise déjà le filtre image_size_names_choose
quelque part car il est très courant d'utiliser add_image_size
pour des images personnalisées. Si tel est le cas, vous pouvez toujours utiliser un deuxième filtre image_size_names_choose
et configurer le $priority
pour qu'il se déclenche après le premier .
//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);
Pour voir comment fonctionnent les filtres: http://codex.wordpress.org/Function_Reference/add_filter