Ce tutoriel WordPress est entièrement gratuit.
Merci de désactiver votre bloqueur de pub ! =)

Afficher les champs personnalisés d’un Post

Lorsque les champs par défaut de WordPress ne suffisent pas, on peut en créer d'autres

Un Post de WordPress a par défaut :

un titre
un extrait
une image à la une
une catégorie
des mots-clés

Mais imaginons que l’on veuille ajouter un autre champ ? WordPress le permet via les champs personnalisés. Si vous cliquez sur Options de l’écran, vous pouvez cocher la case Champs personnalisés, et un bloc additionnel apparaîtra :

champs-personnalises-wordpress

Dans quel cas utiliser un champ personnalisé ?

Les champs personnalisés sont très pratiques pour ajouter des données qui sont uniques à chaque Post.

Par exemple, si on veut associer une couleur à chaque Post, il est plus pratique de passer par un custom taxonomy, parce que les couleurs (rouge, bleu, vert…) seront probablement utilisées pour plusieurs Posts. Et on aura aussi accès à une page d’archive par couleur.

Du coup ici pour montrer comment ça marche, on va utiliser une valeur qui sera unique à chaque post: le prix.

Créer un champ personnalisé

Imaginons qu’on veuille ajouter un champ « Prix » à chaque Post.

(Je dis « Post » ici, mais ça pourrait aussi être un Custom Post de type « Propriété » où l’on liste des propriétés à vendre et auxquelles on veut rattacher un prix spécifique.)

Il suffit de rajouter une ligne aux champs personnalisés :

ajouter-champ-personnalise-wordpress

Cliquez sur « Ajouter un champ personnalisé » et la valeur sera sauvegardée avec ce Post.

Afficher le champ personnalisé

Maintenant, on veut afficher ce prix sur le site. Forcément, on va rajouter du code dans la boucle WordPress, parce que chaque valeur est spécifique à chaque Post.

On va utiliser la fonction get_post_meta dans single.php (par exemple) :

<p>Prix: <?php echo get_post_meta( $post->ID, 'prix', true ); ?></p>

Il y a 3 paramètres :

Libre à vous de rajouter ce code dans d’autres boucles de votre site, et d’utiliser des if/else pour les cas où le champ personnalisé « prix » n’a pas de valeur.