vendredi 25 septembre 2026

À propos

Contact

Lexique · Extensions & API WordPress

Boîte méta

En anglais : « Meta box »

Encart de saisie ajouté à un écran d'édition WordPress (article, page, type personnalisé) pour permettre de renseigner des informations complémentaires au contenu principal.

Le champ « titre » et l’éditeur de contenu ne suffisent pas toujours : un article de recette a besoin d’un temps de préparation, une fiche produit d’une référence interne. Ces informations additionnelles trouvent naturellement leur place dans un encart séparé, ancré dans la colonne latérale ou sous le contenu.

Déclarer une boîte méta

On utilise add_meta_box(), appelée sur le hook add_meta_boxes, en précisant l’écran concerné et la fonction qui affichera le formulaire :

add_action( 'add_meta_boxes', function () {
  add_meta_box(
    'temps_preparation',
    'Temps de préparation',
    'afficher_champ_temps',
    'post'
  );
} );

L’enregistrement de la valeur saisie se fait à part, sur le hook save_post, où il faut impérativement vérifier le nonce et les droits de l’utilisateur avant d’appeler update_post_meta().

Depuis l’éditeur de blocs

Les boîtes méta classiques restent affichées sous l’éditeur de blocs par défaut, mais l’équivalent moderne pour un champ simple passe souvent par un panneau latéral construit avec l’API JavaScript des blocs, ou par les champs personnalisés déclarés dans register_post_meta() avec show_in_rest activé.

Pièges fréquents

  • Oublier de vérifier current_user_can() dans la fonction de sauvegarde expose la donnée à une modification par un rôle qui ne le devrait pas.
  • Le hook save_post se déclenche aussi lors des sauvegardes automatiques (autosave) : il faut le détecter avec wp_is_post_autosave() pour éviter d’écrire des données erronées.
  • L’argument context de add_meta_box() (« normal », « side » ou « advanced ») influence l’emplacement suggéré de l’encart, même si l’utilisateur peut ensuite le déplacer librement par glisser-déposer.