Sommaire
Vous pouvez faire toutes sortes de choses étonnantes lorsque vous ajoutez un champ personnalisé aux taxonomies dans WordPress. L’astuce consiste en fait à trouver comment le faire. Par défaut, une taxonomie dans WordPress comporte quatre champs que vous pouvez saisir. Ce sont les suivants :
- Titre
- Slug
- Parent
- Description
Mais que faire si vous souhaitez ajouter un champ personnalisé aux taxonomies ?
Vous pouvez ajouter des champs personnalisés aux médias dans WordPress. Vous pouvez également afficher des champs personnalisés à partir d’un article spécifique si vous le souhaitez.
Au fil des ans, WordPress a vraiment changé, de sorte que les deux exemples ci-dessous peuvent varier au fil du temps. Dans cet article, je vous montrerai comment ajouter des champs personnalisés aux taxonomies dans WordPress.
Il y a en fait plusieurs façons de le faire. Vous pouvez utiliser un plugin, ou vous pouvez simplement coder le tout. Le choix vous appartient et il dépendra de votre compréhension du placement du code. Cependant, même la solution du plugin nécessite un placement de code. Examinons les taxonomies par défaut dans WordPress et quelques moyens d’ajouter des champs personnalisés.
Ajouter des champs personnalisés aux taxonomies à l’aide d’un plugin
Pour ajouter des champs personnalisés avec un plugin, la première chose à faire est d’installer et d’activer le plugin “Advanced Custom Fields”.
Le plugin ACF vous permet d’ajouter des champs personnalisés à la demande, de les ajouter n’importe où et de les afficher partout. C’est un plugin très intuitif, et si vous êtes un débutant en matière de champs personnalisés WordPress et de fonctionnement des taxonomies, c’est la solution qu’il vous faut.
Une fois que le plugin a été installé et activé, vous voulez passer à l’écran d’administration des champs personnalisés. Pour y accéder, cliquez sur Champs personnalisés Ajouter nouveau.
Ajoutez maintenant les champs que vous souhaitez voir apparaître lors de l’édition d’un terme de taxonomie. Je vais en faire un pour l’exemple. Vous pouvez en ajouter autant que vous le souhaitez. Ensuite, sous “Lieux”, sélectionnez la règle du terme de taxonomie et choisissez la valeur correspondante pour afficher ce groupe de champs.
Une fois que vous avez créé un groupe de champs et que vous lui avez attribué un terme de taxonomie, vous pouvez passer à autre chose. La modification des valeurs des champs se fait en naviguant vers la taxonomie appropriée.
Par exemple, si vous avez assigné votre groupe de domaine à des catégories d’articles, naviguez vers Articles Catégories.
Maintenant, vous voulez afficher le champ. Même pour les débutants, l’utilisation du plugin implique un peu de code.
Pour ce faire, vous devez personnaliser le HTML pour un terme de la taxonomie WordPress. Cela peut se faire facilement en éditant le fichier category.php, tag.php ou taxonomy.php de votre thème. En fonction de votre thème, vous pouvez également utiliser des parties de modèles ou des filtres pour personnaliser le HTML.
Tous ces fichiers se trouvent dans votre section “Éditeur de thèmes”. Pour y accéder, cliquez sur Apparence Éditeur de thèmes.
Dans l’exemple ci-dessous, je montre comment modifier le modèle category.php du thème twentyseventeen et transformer l’image et la couleur de la catégorie en une balise de style.
Cliquez sur la catégorie .php et entrez le code suivant.
Note : Lorsque vous modifiez un champ WYSIWYG (What you See Is What You Get) sur un terme de taxonomie, la fonctionnalité d’intégration automatique peut ne pas fonctionner. Cela est dû au code du noyau de WordPress, qui limite la fonctionnalité d’intégration automatique aux seuls messages. Voici une solution de contournement qui devrait fonctionner la plupart du temps. Un WYSIWYG est quelque chose comme Elementor, ou Visual Editor.
Saisissez ce qui suit dans votre fichier category.php :
Ce code définira un post_ID personnalisé et permettra au WP de charger l’embed.
Ajouter des champs personnalisés aux taxonomies utilisant un code
Note : Ceci est pour les utilisateurs avancés, donc faites attention si vous ne savez pas ou ne comprenez pas où placer le code dans vos fichiers php.
En gros, WordPress vous offre deux possibilités pour créer des champs personnalisés qui s’afficheront lorsque vous ajouterez ou modifierez de nouveaux termes dans vos taxonomies. Ces taxonomies peuvent également être les catégories ou balises par défaut.
Création du terme
Vous pouvez créer le terme et avoir un crochet d’action.
Vous pouvez utiliser le paramètre $taxonomy dans notre propre fonction. Il peut être utilisé pour une vérification supplémentaire si nous sommes sur l’écran de taxonomie correct.
Modifier le terme
Maintenant que vous avez créé un nouveau terme, vous pouvez le modifier. Nous utilisons un autre crochet d’action pour ajouter des champs personnalisés aux taxonomies.
!–?phpbr/–
do_action( “{$taxonomy}_edit_form_fields”, objet $tag, chaîne $taxonomy ) ;
Ce crochet vous fournit deux paramètres : $tag et $taxonomy. Le premier, $tag, est l’objet à partir duquel nous obtiendrons l’id de notre terme. Il peut ensuite être utilisé pour obtenir la valeur actuelle de votre champ.
Sauver le terme
Que vous créiez ou modifiez un terme, vous souhaitez enregistrer correctement votre nouvelle valeur afin qu’elle puisse être utilisée sur l’ensemble de votre site. Vous pouvez utiliser deux crochets différents pour ces scénarios lors de la sauvegarde. Ils sont :
!–?phpbr/–
do_action(“edited_{$taxonomy}”, int $term_id, int $tt_id ) ;
do_action(“created_{$taxonomy}”, int $term_id, int $tt_id ) ;
Pour utiliser ces crochets avec la taxonomie personnalisée que vous avez créée, ou d’autres taxonomies existantes (catégories ou balises), vous devez remplacer la {$taxonomie} par le nom de votre taxonomie enregistrée.
Ajouter un champ d’image aux catégories
Donc, une fois ces informations en place, faisons un exemple ensemble. Dans l’exemple ci-dessous, nous allons ajouter un champ d’image aux catégories.
Création de la catégorie
Tout d’abord, ajoutez le champ de l’image à la catégorie, qui est utilisée lors de la création d’une nouvelle catégorie :
Note : Chaque champ de cet écran est entouré d’un champ div.form, j’utilise donc la même structure HTML ici.
Édition d’une catégorie
Vous pouvez voir que tous les champs sont enveloppés dans une rangée de tableau tr avec th pour l’étiquette et td pour le champ. Nous avons accès à notre objet terme pour obtenir l’ID terme pour obtenir le champ image.
Pour obtenir le champ de l’image, vous utilisez la fonction get_term_meta, qui est très similaire à la fonction get_post_meta. Vous pouvez en savoir plus sur cette fonction en consultant le site WordPress Code Reference.
Sauvegarder l’image
La dernière étape consiste à créer une fonction qui enregistrera le lien ajouté à votre champ :
Vous pouvez voir que dans cette fonction, vous vérifiez si votre champ d’image est affiché en utilisant la variable globale $_POST. Si c’est le cas, vous obtenez le lien vers l’image et vous l’enregistrez à l’aide de la fonction update_term_meta. Vous pouvez en savoir plus sur cette fonction sur cette page de référence du code WordPress.
Voilà. Comme vous pouvez le voir, l’ajout d’un champ personnalisé aux taxonomies dans WordPress peut se faire de plusieurs façons.
Encore une fois, WordPress est en constante évolution, donc vos démarches peuvent varier ici et là, mais cette page de référence vous donne une bonne idée. Si vous utilisez la technique des plugins pour ajouter un champ personnalisé aux taxonomies, vous devriez être prêt à y aller quoi qu’il arrive.
Avez-vous déjà joué avec des champs personnalisés ? Vous trouvez que les taxonomies de WordPress sont trop compliquées pour vous ?