Masquer les tailles d'image personnalisées de la bibliothèque multimédia

4

Je souhaite masquer quelques tailles d'image personnalisées à l'utilitaire de téléchargement de média:

Lecodesuivant( posté 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 non définies?

    
posée Christine Cooper 10.04.2013 - 21:47

1 réponse

5

L'utilisation de unset et intermediate_image_sizes_advanced fonctionnera, mais uniquement sur les images téléchargées après que la fonction a été 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 masquer le fait que cette option soit visible.

Testé le 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.

  1. Régénérez toutes les images (une douleur).
  2. Cachez-le de l'écran 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éel
image_size_names_choose - affecte la visibilité de la liste déroulante 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 dans la mesure où il est très courant d'utiliser add_image_size pour les images personnalisées. Si tel est le cas, vous pouvez toujours utiliser un deuxième filtre image_size_names_choose et définir le $priority pour qu'il soit déclenché 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 afficher le fonctionnement des filtres: enlace

    
réponse donnée Wyck 10.04.2013 - 22:33

Lire d'autres questions sur les étiquettes