vendredi 25 septembre 2026

À propos

Contact

Tips

Proposer vos tailles d’images dans l’éditeur avec image_size_names_choose

Rendez vos tailles d'image personnalisées sélectionnables dans le bloc Image et la médiathèque, avec des libellés compréhensibles pour les rédacteurs.

Par Clément Hadrot • 17 novembre 2023 • 4 min de lecture • Aucun commentaire
Proposer vos tailles d'images dans l'éditeur avec image_size_names_choose

Une cliente qui gère un site de recettes de cuisine me demandait pourquoi, dans le bloc Image, elle ne pouvait choisir qu’entre « Miniature », « Moyenne », « Grande » et « Taille complète ». Le thème déclarait pourtant une taille recette-carre de 600 par 600 pixels, pensée justement pour les vignettes de recette. Le thème avait bien enregistré la taille avec add_image_size(), mais sans la rendre visible dans l’interface.

Cette étape supplémentaire, trop souvent oubliée, tient en un seul filtre : image_size_names_choose.

Rappel : déclarer une taille ne suffit pas

La fonction add_image_size() crée bien le fichier physique lors de l’import ou de la régénération, mais elle ne l’ajoute pas au menu déroulant que voient les rédacteurs. Ce menu est peuplé séparément par le filtre image_size_names_choose, qui attend un tableau associatif slug => libellé.

add_action( 'after_setup_theme', function () {
    add_image_size( 'recette-carre', 600, 600, true );
} );

add_filter( 'image_size_names_choose', function ( $tailles ) {
    $tailles['recette-carre'] = __( 'Carré recette (600×600)', 'mon-theme' );
    return $tailles;
} );

Où ce menu apparaît

Le filtre alimente à la fois le sélecteur de taille du bloc Image dans l’éditeur, la boîte de dialogue d’insertion de média classique, et l’attribut de taille disponible dans le widget Galerie. Une fois le filtre en place, la taille personnalisée apparaît immédiatement, sans régénération nécessaire pour la voir dans le menu (la régénération ne sert qu’à générer les fichiers).

L'essentiel à retenir : Un seul filtre pour afficher ses tailles dans l'interface ; Libellés lisibles plutôt que des noms techniques ; Compatible bloc Image et médiathèque classique

Choisir un libellé utile

Le piège classique est de recopier le nom technique du slug comme libellé : un rédacteur ne sait pas ce que signifie recette-carre-600. Un bon libellé indique l’usage plutôt que les dimensions brutes, ou combine les deux :

  • Vignette article (400×300) plutôt que vignette_article.
  • Bannière page d'accueil (1600×500) plutôt que banniere_home.
  • Éviter les libellés trop longs : au-delà d’une trentaine de caractères, le menu déroulant tronque l’affichage sur certains navigateurs.

Retirer les tailles inutiles du menu

Le même filtre permet aussi de nettoyer le menu des tailles historiques que plus personne n’utilise, en les retirant du tableau plutôt qu’en les ajoutant :

add_filter( 'image_size_names_choose', function ( $tailles ) {
    unset( $tailles['medium_large'] );
    return $tailles;
} );

Attention toutefois : retirer une taille du menu ne supprime pas les fichiers déjà générés à cette taille, ni les usages codés en dur dans le thème via the_post_thumbnail( 'medium_large' ).

Cas des tailles enregistrées par une extension

Certaines extensions (WooCommerce en tête) déclarent leurs propres tailles d’image et gèrent parfois elles-mêmes leur affichage dans le menu. Avant d’ajouter une taille en double, une vérification rapide avec wp eval 'print_r( wp_get_registered_image_subsizes() );' en ligne de commande WP-CLI liste toutes les tailles déjà connues du site.

SituationAction
Taille déclarée mais absente du menuAjouter via image_size_names_choose
Taille historique inutiliséeRetirer du menu, garder la déclaration si des images l’utilisent encore
Taille dupliquée avec une extensionVérifier avec wp_get_registered_image_subsizes()

Une taille d’image qui n’apparaît pas dans le menu du bloc Image n’est pas un bug de WordPress : c’est simplement une étape de configuration oubliée par l’intégrateur.

En résumé

Trois lignes de filtre suffisent à transformer une taille d’image invisible en option claire pour les rédacteurs. C’est un des réglages les plus rentables en temps passé : quelques minutes d’intégration évitent des dizaines de messages de rédacteurs qui ne comprennent pas pourquoi leur image ne s’affiche pas comme prévu.

Partager :

À propos de l'auteur

Clément Hadrot

Développeur WordPress, passionné par Elementor, le FSE et l’automatisation par IA.

Voir tous ses articles

Dans la même veine

À lire aussi