Les custom fields de wordpress

Ajout de champs personnalisés.

WordPress permet aux auteurs d’ajouter des champs personnalisés. Ces champs peuvent permettre d’ajouter tout type d’informations ( texte,  date, url , image ) qu’on souhaiterait afficher ailleurs que dans le contenu principal de la page

Ces informations connues sous le nom de meta-data sont composées d’une paire clé/ valeur. La clé est le nom de la meta-data et la valeur est l’information que l’on souhaite lui voir associé.
La clé peut être utilisé plusieurs fois par poste , elle doit donc être unique. Dans mon exemple j’utilise des clés sans espace ni accent mais vous pouvez untiliser espace et caractères accentués.

Imaginons que nous souhaiterions créer une bibliothèque musicale :

Nous pourrions utiliser dans notre article  (afin d’avoir une mise en page vraiment spécifique) :

  • Le titre de l’article pour afficher le nom artiste
  • Le contenu principal pour la track list de l’album
  • L’image à la une pour l’image représentant l’album
  • Une meta-data nom_album pour afficher le nom de l’album
  • Une meta-data annee_album pour ajouter les années
  • Les catégories pour ajouter des genres
  • Les  catégories pour ajouter les labels

 

NB : En réalité, pour gérer ce genre d’article, il serait préférable d’utiliser les custom post type, taxonomy  et meta-box qui sont bien plus appropriés.

 

1 – Pour débuter il faut afficher les champs personnalisés. Si vous ne les voyez pas, cliquez sur l’onglet options de l’écran en haut à droite puis cocher champs personnalisés.

options-de-ecran
options-de-l’écran

2 – Ensuite ajoutons le nom de l’artiste dans le champs titre
3 – dans le contenu principal ajoutons la tracklist de l’album
4 – puis nous uploadons l’image représentant l’album dans l’image à la une
5 – puis nous créons 2 catégories parentes : genres et lables dans lesquels nous renseignons les infos

categories
categories

6 – enfin nous ajoutons les meta-data

custom fields
custom fields

Ce qui nous donne au final

wordpress custom fields
wordpress custom fields

 

Affichage des custom fields sur le site

Ajouter des custom fields , c’est bien mais pouvoir les afficher c’est mieux !

Lorsqu’on ajoute des champs personnalisés à un article, il est possible de récupérer toutes les metas d’un coup en utilisant

Cependant, cela ne nous arrange pas car nous allons avoir un contenu formaté sus cette forme:

NB : concernant les nom des clés des meta, j’ai utilisé un identifiant sans espace ni accent par habitude mais il est possible d’écrire « Nom album » au lieu de « nom_album »

Voir la doc

Ce qui serait bien , c’est de pouvoir récupérer chaque paire clé/valeur séparément.

Cela est possible avec la fonction

qui peut prendre 3 arguments :

  • $post_id : ID du post dont on souhaite récupérer la meta. Utilisez $post->ID ou get_the_ID();  pour récupérer la valeur de l’ID du post.
  • $key : nom de la  clé , ici nom_album ou annee_album
  • $single :  boolean. La fonction retourne un résultat sous forme de string si la valeur est sur true et un tableau, array si la valeur est  false ou non définit

Nous allons d’abord voir ce que contient get_post_meta(); lorsque l’argument $single est défini sur false :

Utiliser un wp_query avec un custom fields

Nous voulons afficher les post associer à un custom post.

Imaginons que nous souhaitions afficher tous les post pour une certaine année.

ACF

Pour finir , il est possible d’utiliser un plugin super bien fait ! ACF : http://www.advancedcustomfields.com/

Il fait (presque) tout le travail pour vous, il ne vous reste plus qu’à utiliser les méthodes fournies pour afficher le contenu.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *