vendredi 25 septembre 2026

À propos

Contact

Blocs Gutenberg

Les 15 composants de @wordpress/components qu’il faut connaître

ColorPalette, ComboboxControl, Placeholder, Notice, Modal et dix autres : un catalogue commenté des composants les plus utiles au-delà de l'inspecteur classique.

Par Clément Hadrot • 22 novembre 2021 • 4 min de lecture • Aucun commentaire
Les 15 composants de @wordpress/components qu'il faut connaître

Après trois ans à développer des blocs pour des clients aux besoins très variés, un même constat revient : la plupart des développeurs connaissent TextControl, ToggleControl et SelectControl, et s’arrêtent là — alors que @wordpress/components contient des dizaines de composants prêts à l’emploi qui évitent de recoder des interactions déjà résolues, avec la même identité visuelle que le reste de l’éditeur.

Sélection et couleur

ColorPalette affiche la palette de couleurs du thème (ou une palette personnalisée) sous forme de pastilles cliquables, avec un sélecteur de couleur personnalisée en secours. Bien plus rapide à mettre en place qu’un champ de saisie de code hexadécimal brut.

GradientPicker fait de même pour les dégradés déclarés dans le thème, avec un rendu d’aperçu directement dans le sélecteur.

ComboboxControl combine un champ de recherche et une liste déroulante filtrable, adapté à une longue liste d’options (des centaines d’articles ou de taxonomies) où un simple SelectControl deviendrait difficile à parcourir.

États et retours utilisateur

L'essentiel à retenir : La bibliothèque dépasse largement les seuls TextControl et ToggleControl ; Certains composants évitent de recoder des interactions complexes ; Tous partagent la même identité visuelle que l'éditeur natif

Placeholder structure un état vide générique, avec icône, titre et instructions, sur le même modèle visuel que MediaPlaceholder mais pour n’importe quel contenu, pas seulement les médias.

Notice affiche un message d’information, d’avertissement ou d’erreur avec le style natif de l’administration WordPress, plutôt qu’un texte en rouge codé à la main.

Spinner reste minimal mais indispensable pour tout état de chargement asynchrone, cohérent visuellement avec le reste de l’interface.

Structure et disposition

import { Card, CardBody, CardHeader } from '@wordpress/components';

<Card>
	<CardHeader>Résumé</CardHeader>
	<CardBody>Contenu structuré</CardBody>
</Card>

Card, CardHeader et CardBody offrent un conteneur visuel cohérent pour regrouper de l’information dans l’éditeur, utile en dehors du panneau latéral, par exemple à l’intérieur même d’un rendu de bloc.

Flex, FlexItem et FlexBlock encapsulent des mises en page flexbox courantes (répartition égale, alignement) sans écrire de CSS supplémentaire, avec des espacements qui respectent l’échelle définie par le design system de l’éditeur.

Interactions avancées

Modal ouvre une boîte de dialogue superposée, utile pour une configuration complexe qui ne trouve pas sa place dans le panneau latéral ni dans la barre d’outils.

import { useState } from '@wordpress/element';
import { Modal, Button } from '@wordpress/components';

function ReglagesAvances() {
	const [ ouvert, setOuvert ] = useState( false );
	return (
		<>
			<Button onClick={ () => setOuvert( true ) }>Réglages avancés</Button>
			{ ouvert && (
				<Modal title="Réglages avancés" onRequestClose={ () => setOuvert( false ) }>
					{ /* contenu */ }
				</Modal>
			) }
		</>
	);
}

Popover affiche un contenu flottant ancré à un élément déclencheur, utilisé notamment en interne par ColorPalette pour son sélecteur de couleur personnalisée.

Dropdown combine un déclencheur et un contenu qui s’ouvre au clic, plus flexible que Popover quand le contenu doit lui-même gérer son état d’ouverture.

Listes et arborescences

TreeSelect affiche une hiérarchie (catégories imbriquées, par exemple) sous forme de liste déroulante indentée, plutôt qu’une liste plate qui perdrait la relation parent-enfant.

CheckboxControl reste distinct de ToggleControl : à utiliser pour une sélection dans un groupe d’options indépendantes, tandis que ToggleControl convient à un réglage binaire on/off unique.

ExternalLink ajoute automatiquement l’icône et les attributs d’accessibilité corrects pour un lien qui ouvre un nouvel onglet, un détail que beaucoup de développeurs recodent à la main sans nécessité.

Une liste non exhaustive

  • Consulter le code source du cœur de Gutenberg reste la meilleure source pour découvrir un composant : de nombreux blocs natifs utilisent des composants peu documentés ailleurs.
  • Avant de coder un composant d’interface personnalisé, une recherche rapide dans @wordpress/components évite fréquemment un travail redondant.

Un bloc qui réinvente un sélecteur de couleur ou une modale avec du CSS maison casse presque toujours, même légèrement, la cohérence visuelle avec le reste de l’éditeur — un détail que les utilisateurs perçoivent sans toujours savoir le nommer.

En résumé

Cette sélection de quinze composants ne couvre qu’une partie de @wordpress/components, mais elle représente ceux qui reviennent le plus souvent dans des projets réels, au-delà des classiques déjà couverts par un article dédié à l’inspecteur de réglages.

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