La création automatique de champs personnalisés lors de la publication d'articles WordPress est un moyen puissant de gagner du temps et de réduire les tâches répétitives, surtout si vous gérez un grand site ou travaillez sur des fonctionnalités personnalisées.
Au lieu d'ajouter manuellement les mêmes champs personnalisés à chaque fois que vous publiez un certain type de contenu, vous pouvez automatiser le processus et maintenir la cohérence.
Nous avons travaillé sur de nombreux projets WordPress au fil des ans, en construisant tout, des simples blogs aux sites complexes avec des fonctionnalités avancées. En cours de route, nous avons acquis de nombreux conseils pratiques comme celui-ci qui peuvent rendre votre flux de travail plus rapide et plus efficace.
Dans ce tutoriel, nous vous montrerons comment ajouter automatiquement des champs personnalisés lors de la publication d'articles dans WordPress, étape par étape.

Pourquoi ajouter automatiquement des champs personnalisés ?
Les champs personnalisés vous permettent d'ajouter des informations supplémentaires à vos articles. Ces informations peuvent être affichées sur votre site Web, rester privées ou être utilisées par des thèmes et des plugins pour étendre les fonctionnalités de votre site Web WordPress.
Il existe de nombreuses façons créatives d'utiliser les champs personnalisés. Vous trouverez une liste d'idées utiles dans notre guide conseils, astuces et hacks sur les champs personnalisés WordPress.
Dans certains cas, vous voudrez qu'un champ personnalisé soit créé automatiquement à chaque publication d'un article. Ceci est particulièrement utile lorsque vous ajoutez des fonctionnalités à WordPress afin de pouvoir l'utiliser comme plus qu'un simple blog.
Par exemple, chez WPBeginner, nous avons utilisé cette méthode lors de la création d'un site web de galerie. Nous voulions stocker des URL courtes pour chaque élément soumis à la galerie. Ainsi, nous avons automatiquement créé un champ personnalisé pour stocker l'URL courte lorsque chaque article était publié.
Ce type d'automatisation aide les développeurs à gagner du temps, à réduire les erreurs et à créer des sites WordPress plus puissants avec moins d'efforts manuels.
Maintenant, voyons comment le configurer.
Ajout automatique de champs personnalisés lors de la publication d'un article
Cette méthode implique l'ajout d'un extrait de code personnalisé au fichier functions.php de votre thème. Nous ne recommandons pas de modifier les fichiers de votre thème aux utilisateurs inexpérimentés, car même une petite erreur pourrait casser votre site web.
Au lieu de cela, nous vous montrerons comment utiliser le plugin WPCode dans ce tutoriel.

WPCode facilite l'ajout d'extraits de code dans WordPress sans avoir à modifier le fichier functions.php de votre thème. Vous pouvez également gérer tous vos extraits de code à partir d'un écran central.
Si c'est la première fois que vous ajoutez du code à WordPress, consultez notre guide sur la façon de copier et coller des extraits de code dans WordPress pour plus de détails.
Pour commencer, vous devez installer et activer le plugin gratuit WPCode. Si vous avez besoin d'aide, consultez notre tutoriel sur comment installer un plugin WordPress.
Remarque : La version gratuite de WPCode contient tout ce dont vous avez besoin pour ajouter du code personnalisé dans WordPress. Pour des fonctionnalités plus avancées comme les snippets planifiés, les pixels de conversion, et plus encore, vous pouvez passer à WPCode Pro.
Une fois le plugin activé, un nouvel élément de menu intitulé « Extraits de code » sera ajouté à votre barre d'administration WordPress. Cliquez dessus, puis appuyez sur le bouton « Ajouter » sur l'écran suivant.

Cela vous mènera à la bibliothèque d'extraits de code de WPCode.
À partir d'ici, naviguez vers l'option « Ajouter votre code personnalisé (Nouvel extrait) » et cliquez sur le bouton « + Ajouter un extrait personnalisé » en dessous.

Ensuite, sélectionnez « Extrait PHP » comme type de code dans la liste d’options qui s’affiche à l’écran.

Après cela, vous devrez donner un titre à l’extrait, puis copier le code suivant et le coller dans la boîte « Aperçu du code ».
add_action('publish_page', 'add_custom_field_automatically');
add_action('publish_post', 'add_custom_field_automatically');
function add_custom_field_automatically($post_ID) {
global $wpdb;
if(!wp_is_post_revision($post_ID)) {
add_post_meta($post_ID, 'field-name', 'custom value', true);
}
}
Vous devrez remplacer « nom-du-champ » et « valeur-personnalisée » par le nom et la valeur réels que vous souhaitez utiliser pour le champ personnalisé.

Ensuite, faites défiler vers le bas jusqu’à la section « Insertion ». Ici, vous devrez laisser la méthode « Insertion automatique » sélectionnée.

Avec la méthode d’insertion automatique, l’extrait sera automatiquement inséré et exécuté à l’emplacement approprié.
Une fois que vous avez terminé, vous devrez basculer le commutateur de « Inactif » à « Actif », puis cliquer sur le bouton « Enregistrer l’extrait ».

Une fois l’extrait activé, le champ personnalisé sera créé chaque fois que vous publierez un article.
Nous espérons que ce tutoriel vous a aidé à apprendre comment ajouter automatiquement des champs personnalisés lors de la publication d’un article dans WordPress. Vous voudrez peut-être aussi apprendre comment afficher les champs personnalisés en dehors de la boucle dans WordPress ou consulter notre liste de plugins WordPress indispensables pour développer votre site Web.
Si cet article vous a plu, abonnez-vous à notre chaîne YouTube pour des tutoriels vidéo WordPress. Vous pouvez également nous retrouver sur Twitter et Facebook.

Jiří Vaněk
Si j’ai un site Web avec plusieurs utilisateurs et que je souhaite qu’une biographie d’auteur soit automatiquement insérée lors de la publication d’un article, puis-je utiliser ce guide ? Autrement dit, les champs personnalisés peuvent-ils être utilisés pour garantir qu’une courte biographie de l’auteur soit insérée au début en fonction de qui écrit l’article ? Je voudrais que ce soit automatisé de cette façon. Actuellement, nous le faisons en utilisant Elementor, où chaque auteur a son modèle enregistré et doit l’insérer manuellement au début.
Support WPBeginner
Ce que vous recherchez est une boîte de biographie d'auteur que nous couvrons dans notre guide ci-dessous :
https://www.wpbeginner.com/wp-tutorials/how-to-add-an-author-info-box-in-wordpress-posts/
Admin
Sateesh Raghuwanshi
Je dois ajouter cette action pour un type de publication personnalisé nommé « ad_system »
nayan
Je veux ajouter l'ID de catégorie pour la publication dans la table post_meta. Comment la fonction function add_custom_field_automatically($post_ID) peut-elle être modifiée pour en tenir compte ?
Merci
chris
Au lieu d'ajouter le champ personnalisé au moment de la création de la publication, comment puis-je afficher un champ personnalisé par défaut sur la page d'administration ?
puanthanh
il n'est pas ajouté au type de publication personnalisé
Personnel éditorial
Si vous remarquez, le code ci-dessus n'a rien à voir avec les types de publications personnalisés. Il ajoute uniquement aux types de contenu « Post » et « Page ». Vous devrez donc spécifier le hook pour votre type de publication personnalisé.
Admin
puanthanh
Merci pour votre réponse. Pouvez-vous m'aider avec ce code.
add_action(‘publish_page’, ‘add_custom_field_automatically’);
add_action(‘publish_post’, ‘add_custom_field_automatically’);
add_action( ‘save_post’, ‘add_custom_field_automatically’ );
function add_custom_field_automatically($post_ID) {
global $post;
if(!wp_is_post_revision($post_ID)) {
global $wpdb;
$user_id = $wpdb->get_var("SELECT post_author FROM $wpdb->posts WHERE ID = $post_ID");
$themename = $wpdb->get_var("SELECT meta_value FROM $wpdb->usermeta WHERE meta_key = ‘themeperauthor’ AND user_id = $user_id");
add_post_meta($post_ID, ‘themeperauthor’, $themename, true);
}
}
Lorsque le champ meta de l'utilisateur est modifié, je veux supprimer automatiquement la valeur du champ personnalisé et la mettre à jour avec la nouvelle.
brian
Je travaille à l'ajout de champs personnalisés cachés lors de la publication/mise à jour d'un article (en faisant précéder le nom du champ par « _ ») mais pour une raison quelconque, je dois mettre à jour l'article deux fois avant que les entrées wp_postmeta ne soient écrites dans la base de données.
J'ai essayé de jouer avec la priorité et d'expérimenter avec d'autres hooks d'action (draft_to_publish, edit_post, etc.) mais cela ne semble pas faire de différence.
Des idées ?
Personnel éditorial
utilisez-vous l'astuce d'Otto avec l'API transitoire ?
Admin
Boba
Thanks for including the source link
Personnel éditorial
Thanks for providing an amazing tip
Admin
Daniel Suarez
Merci Otto, encore un excellent conseil !
Piet
est-ce que cela fonctionnera aussi pour les types de publication personnalisés ?
quelque chose comme add_action(‘publish_custom-post-typ-name’, ‘add_custom_field_automatically’);
Otto
Oui, ça fonctionnera.
Un inconvénient de cette technique dont les gens devraient être conscients est que si quelqu'un modifie un article publié, ce hook sera à nouveau déclenché lors de la modification. Par conséquent, vous devez vérifier les métadonnées avant de les ajouter, ou de les mettre à jour, ou de faire ce qui est le plus logique pour votre cas d'utilisation.
Si vous ne voulez que votre code soit déclenché uniquement lors de la publication initiale, vous pouvez utiliser le hook transition_post_status. Ce hook fonctionne comme ceci :
add_action('transition_post_status','example',10,3);
function example($new, $old, $post) {
// $new est le nouveau statut de publication ('publish')
// $old est l'ancien statut de publication ('draft')
// $post est l'objet Post complet (donc utilisez $post->ID pour l'ID, etc.)
}
Ensuite, ici, vous pouvez faire une vérification pour quelque chose comme ceci :
if ($new == 'publish' && $old != 'publish')
Pour que votre code ne soit utilisé que lorsque le statut de l'article passe effectivement à 'publish' depuis son état précédent. Ce hook est déclenché en même temps que les hooks {$status}_{$post-type}, donc leur fonctionnement est globalement le même.
Piet
Merci Otto, je vais expérimenter un peu avec ça !
Personnel éditorial
Merci Otto pour la clarification.
Admin
Vivek Parmar
merci pour cette astuce pratique. auparavant, lorsque j'utilisais des champs personnalisés, je devais travailler manuellement. maintenant, cela le fera automatiquement. merci de me faire gagner un temps précieux