Le titre, le contenu et la date ne suffisent pas toujours : un prix, une note, des coordonnées GPS ou une référence produit demandent un espace de stockage supplémentaire attaché à chaque contenu individuellement.
Fonctionnement dans WordPress
Ces informations sont stockées comme métadonnées dans la table wp_postmeta, sous forme de paires clé/valeur, potentiellement répétées pour une même clé. L’éditeur classique propose un panneau « Champs personnalisés » natif ; l’éditeur de blocs délègue généralement cette saisie à des boîtes meta ou à des extensions comme Advanced Custom Fields. Côté code, on lit et on écrit ces valeurs avec get_post_meta() et update_post_meta().
Exemple
update_post_meta( $post_id, 'prix_ht', 49.90 );
$prix = get_post_meta( $post_id, 'prix_ht', true );
Bon à savoir
- Le troisième paramètre
truedeget_post_meta()retourne une valeur unique plutôt qu’un tableau ; l’omettre est une erreur fréquente chez les débutants. - Pour rendre un champ personnalisé disponible dans l’API REST, il faut le déclarer explicitement avec
register_post_meta()et l’argumentshow_in_rest. - Une clé de champ personnalisé commençant par un caractère souligné (
_prix_ht) est automatiquement masquée du panneau natif de l’éditeur, une convention souvent utilisée pour cacher des métadonnées techniques que l’utilisateur ne doit pas modifier à la main.
Les valeurs stockées restent toujours des chaînes de caractères ou des structures sérialisées côté base de données ; convertir explicitement un nombre ou un booléen à la lecture, avec (int) ou (bool), évite des comparaisons approximatives plus loin dans le code.