Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Coupe WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Comment ajouter des champs personnalisés automatiquement lors de la publication d’un article dans WordPress

Note éditoriale : Nous percevons une commission sur les liens des partenaires sur WPBeginner. Les commissions n'affectent pas les opinions ou les évaluations de nos rédacteurs. En savoir plus sur Processus éditorial.

Avez-vous besoin de créer automatiquement des champs personnalisés lors de la publication de vos articles WordPress ?

Il s’agit d’une astuce simple que les développeurs/développeuses peuvent utiliser lorsqu’ils ajoutent de nouvelles fonctionnalités à leur site WordPress.

Dans cet article, nous allons vous afficher comment ajouter des champs personnalisés automatiquement lors de la publication d’un article dans WordPress.

How to Add Custom Fields Automatically on Post Publish in WordPress

Pourquoi ajouter automatiquement des champs personnalisés ?

Leschamps personnalisés vous permettent d’ajouter des informations supplémentaires à vos publications. Ces informations peuvent être affichées sur votre site, rester privées ou être utilisées par des thèmes et des extensions pour étendre les fonctionnalités de votre site WordPress.

Il existe de nombreuses façons d’utiliser les champs personnalisés. Vous trouverez une liste d’idées utiles dans notre guide des astuces, trucs et astuces des champs personnalisés.

Parfois, vous voudrez qu’un champ personnalisé soit créé automatiquement chaque fois que vous publiez une publication. C’est notamment le cas lorsque vous ajoutez des fonctionnalités à WordPress pour en faire plus qu’un simple blog.

Nous avons utilisé cette méthode lors de la création du site d’une galerie. Nous voulions stocker des URL courtes pour chaque article envoyé à la galerie. Nous avons donc automatiquement créé un champ personnalisé pour stocker l’URL courte lors de la publication de chaque article.

Cette astuce peut s’avérer très utile pour les développeurs/développeuses qui cherchent à pousser WordPress à son paroxysme.

Ajout de champs personnalisés automatiquement lors de la publication d’un article

Cette méthode consiste à ajouter un extrait de code personnalisé au fichier functions.php de votre thème. Nous déconseillons aux utilisateurs/utilisatrices inexpérimentés de modifier les fichiers de votre thème, car même une petite erreur pourrait endommager votre site.

Au lieu de cela, nous allons vous afficher comment utiliser l’extension WPCode dans ce tutoriel.

WPCode

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 dans WordPress, nous vous conseillons de consulter notre guide sur la manière de copier et coller des extraits de code dans WordPress pour plus de détails.

Pour Premiers pas, vous devez installer et activer l’extension gratuite WPCode. Si vous avez besoin d’aide, consultez notre tutoriel sur l ‘installation d’une extension WordPress.

Note : 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 extraits planifiés, les pixels de conversion, et plus encore, vous pouvez mettre à niveau vers WPCode Pro.

Une fois le plugin activé, un nouvel élément de menu libellé  » Extraits de code  » sera ajouté à votre barre d’administration WordPress. Cliquez dessus, puis appuyez sur le bouton  » Ajouter un nouveau  » sur l’écran suivant.

Click the Add New Button to Add Your First Custom Code Snippet in WPCode

À partir de là, accédez à l’option « Ajouter votre code personnalisé (nouvel extrait) » et cliquez sur le bouton « Utiliser l’extrait » situé en dessous.

Add your new custom code snippet in WPCode

Ensuite, vous devez donner un titre à l’extrait, puis copier le code suivant et le coller dans la case « Prévisualisation 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 devez remplacer « nom du champ » et « valeur personnalisée » par le nom et la valeur que vous souhaitez utiliser pour le champ personnalisé.

N’oubliez pas de choisir « Extrait de code PHP » comme type de code dans le menu déroulant à droite.

Paste code snippet in WPCode code box

Défilez ensuite vers le bas jusqu’à la section « Insertion ». Ici, vous devez laisser la méthode « Insertion automatique » sélectionnée.

Pick the insertion method for your custom code snippet

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 devez permuter le commutateur de « Inactif » à « Actif », puis cliquer sur le bouton « Enregistrer l’extrait ».

Save and activate your custom code snippet

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 des champs personnalisés automatiquement lors de la publication d’un article sur WordPress. Vous voudrez peut-être aussi choisir le meilleur hébergeur WordPress ou consulter notre liste de plugins WordPress indispensables pour développer votre site.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Divulgation : Notre contenu est soutenu par les lecteurs. Cela signifie que si vous cliquez sur certains de nos liens, nous pouvons gagner une commission. Consultez comment WPBeginner est financé, pourquoi cela compte et comment vous pouvez nous soutenir. Voici notre processus éditorial.

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

L'ultime WordPress Toolkit

Accédez GRATUITEMENT à notre boîte à outils - une collection de produits et de ressources liés à WordPress que tous les professionnels devraient avoir !

Reader Interactions

17 commentairesLaisser une réponse

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. nayan says

    I want to add category Id for the post in the post_meta table. How can be the function function add_custom_field_automatically($post_ID) be twicked to accomodate that?

    Thanks

  3. chris says

    Instead of adding the custom field at the time of creating the post, how do I display a custom field by default on the admin page?

    • Editorial Staff says

      If you notice, the code above doesn’t have anything related to the custom post types. It only adds to Post and Page « content type ». So you would have to specify the hook for your custom post type.

      Administrateur

      • puanthanh says

        Thanks for the reply. Can you help me out on this 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);
        }
        }
        When the user meta field is changed, I want to automatically delete the custom field value and update with the new one

  4. brian says

    I’ve been working on adding some hidden custom fields on post publish/update (by preceding the field name with « _ ») but for some reason I have to update the post twice before the wp_postmeta entries are written to the database.

    I’ve tried messing with the priority and experimenting with other action hooks (draft_to_publish, edit_post, etc) but it doesn’t seem to make a difference.

    Any ideas?

  5. Piet says

    will this work too for custom post types?
    sth like add_action(‘publish_custom-post-typ-name’, ‘add_custom_field_automatically’);

    • Otto says

      Yes, it will.

      One downside to this technique that people should be aware of is that if somebody edits a published post, this hook WILL get fired again on the edit. Therefore, you need to check for the meta before adding it, or to update it, or to do whatever makes the most sense for your use-case.

      If you only want to get your code fired off on the initial publish only, then you can use the transition_post_status hook. This hook works like this:


      add_action('transition_post_status','example',10,3);
      function example($new, $old, $post) {
      // $new is the new post status ('publish')
      // $old is the old post status ('draft')
      // $post is the complete Post Object (so use $post->ID for the ID, etc)
      }

      Then, in here you can do a check for something like this:

      if ($new == 'publish' && $old != 'publish')

      To have your code only used when the post status actually transitions to publish from whatever it was before. This hook is fired at the same time as the {$status}_{$post-type} hooks are, so the operation of them is basically the same.

Laisser une réponse

Merci d'avoir choisi de laisser un commentaire. Veuillez garder à l'esprit que tous les commentaires sont modérés selon notre politique de commentaires, et votre adresse e-mail ne sera PAS publiée. Veuillez NE PAS utiliser de mots-clés dans le champ du nom. Ayons une conversation personnelle et significative.