Sur WordPress, il existe une option très pratique pour ajouter un ou plusieurs éléments de textes : les champs personnalisés. Ces éléments vont vous permettre d’afficher des données supplémentaires dans vos articles et/ou pages. Par exemple, vous pourrez afficher une note sur 10 pour la critique d’un film.

Avant de commencer

Cette option sera créée dans le fichier function.php qui se trouve dans le répertoire de votre thème WordPress. Penser à bien différencier vos différents ajouts dans ce fichier, je vous conseille d’utiliser cette présentation :

Créer un champ personnalisé sur WordPress

Ajout de l’action

Commençons par appeler l’option wp_insert_post qui va vous servir à insérer du contenu dans vos posts. Nommez votre fonction en conséquence, par exemple champ_personnalise_theme_perso.

Attention ! Ne mettez pas d’accents ou d’espaces ! Vous écrirez votre fonction en minuscule et, si vous en avez besoin, des underscores (tiret du 8).

Création de la fonction

Seconde étape, la création de la fonction. Créer la fonction qui portera le même nom que vous aurez indiqué sur la ligne add_action();. Ajoutez également la variable $post_id afin de cibler le post en relation avec votre champ personnalisé.

Ajout du champ personnalisé

Cette troisième étape est le cœur du réacteur. Nous allons ajouter l’option add_post_meta(); qui va créer la métadonnée du champ personnalisé. Compléter par la variable $post_id, puis par le nom de votre champ personnalisé.

Vous pouvez utiliser des caractères spéciaux et/ou des majuscules, il n’y aura aucun problème. Les deux guillemets suivants correspondent au texte de base qui sera affiché. Si vous ne voulez rien et laisser un champ vide, n’y mettez rien, pas même un espace !

Fin de la fonction

Terminez votre fonction avec return true;. N’oubliez pas l’accolade de fin. ;)

Résultat final

Voila ce que vous devez obtenir à la fin. Si vous voulez créer plus de champs personnalisés, faites un simple copier-coller de la ligne add_post_meta();.

Mais ce n’est pas fini, nous pouvons encore…

custom field wordpress

Allez plus loin !

Nous pouvons encore aller plus loin dans ce processus. En effet, vous allez demander à votre fonction de repérer si vous voulez que vos champs personnalisés n’apparaissent que pour un type de contenu. Dans le cas ci-dessous, je demande à ma fonction de vérifier sur le type de contenu est post.

Si c’est le cas, alors il va me créer un champ personnalisé lorsque je vais créer un nouvel article. Si je créé une nouvelle page, il n’y aura rien. Voici donc le code que vous devez intégrer.

Ce qui devrait vous donner au final ce code là :

Pour finir

Créer un champ personnalisé sur WordPress n’est pas très compliqué en soit, vous venez de le voir. Cet option est très utile pour ajouter un petit contenu qui va agrémenter vos articles. Des champs personnalisés plus complexes vous permettant d’éditer le texte comme pour la rédaction d’un article existent sous la forme de plugins. Je vous recommande chaudement le plugin Advanced Custom Fields.

Ce tutoriel est désormais terminé. La prochaine étape consistera à afficher un champ personnalisé sur wordpress.

Si vous avez la moindre question et/ou problème sur ce tutoriel (ou même dire merci ^^), n’hésitez pas à me le dire à la suite de cet article. ;)