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

Come aggiungere automaticamente i campi personalizzati alla pubblicazione degli articoli in WordPress

La creazione automatica di campi personalizzati durante la pubblicazione di pubblicazioni su WordPress può essere uno strumento potente nel kit di strumenti di qualsiasi sviluppatore.

Riteniamo che questo semplice trucco possa aiutarvi a salvare tempo e a snellire i flussi di lavoro quando aggiungete nuove caratteristiche al vostro sito web WordPress.

In questo articolo vi mostreremo come aggiungere automaticamente i campi personalizzati alla pubblicazione degli articoli in WordPress.

How to Add Custom Fields Automatically on Post Publish in WordPress

Perché aggiungere campi personalizzati automaticamente?

Icampi personalizzati consentono di aggiungere informazioni aggiuntive agli articoli. Queste informazioni possono essere visualizzate sul sito web, mantenute private o utilizzate da temi e plugin per estendere le funzionalità del sito WordPress.

Esistono molti modi per utilizzare i campi personalizzati. Troverete un elenco di idee utili nella nostra guida ai suggerimenti, ai trucchi e agli hack per i campi personalizzati.

A volte si desidera che un campo personalizzato venga creato automaticamente ogni volta che si pubblica un articolo. Questo è particolarmente vero quando si aggiungono funzionalità a WordPress, in modo da poterlo utilizzare come qualcosa di più di un semplice blog.

Abbiamo utilizzato questo metodo per creare un sito web di galleria. Volevamo memorizzare brevi URL per ogni elemento inviato alla galleria. Abbiamo quindi creato automaticamente un campo personalizzato per memorizzare l’URL breve quando ogni articolo veniva pubblicato.

Questo trucco può essere molto utile per gli sviluppatori che vogliono portare WordPress al livello successivo.

Aggiunta automatica di campi personalizzati alla pubblicazione dell’articolo

Questo metodo prevede l’aggiunta di un frammento di codice personalizzato al file functions.php del tema. Non consigliamo di modificare i file del tema a utenti inesperti, perché anche un piccolo errore potrebbe danneggiare il sito web.

In questo tutorial vi mostreremo invece come utilizzare il plugin WPCode.

WPCode

WPCode semplifica l’aggiunta di snippet di codice in WordPress senza dover modificare il file functions.php del tema. È inoltre possibile gestire tutti gli snippet di codice da un unico schermo centrale.

Se è la prima volta che aggiungete codice a WordPress, allora dovreste selezionare la nostra guida su come copiare e incollare snippet di codice in WordPress per maggiori dettagli.

Per iniziare, è necessario installare e attivare il plugin gratuito WPCode. Se avete bisogno di aiuto, consultate il nostro tutorial su come installare un plugin di WordPress.

Nota: la versione gratuita di WPCode ha tutto ciò che serve per aggiungere codice personalizzato in WordPress. Per caratteristiche più avanzate, come gli snippet programmati, gli sgranati di conversione e altro ancora, è possibile passare a WPCode Pro.

Una volta attivato il plugin, nella barra di amministrazione di WordPress verrà aggiunta una nuova voce di menu con l’etichetta “Code Snippets”. Fate clic su di essa e poi premete il pulsante “Aggiungi nuovo” nello schermo successivo.

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

Da qui, navigare fino all’opzione “Add-on codice personalizzato (nuovo snippet)” e fare clic sul pulsante “Usa snippet” sotto di essa.

Add your new custom code snippet in WPCode

A questo punto è necessario dare un titolo allo snippet, quindi copiare il codice seguente e incollarlo nella casella “Anteprima codice”.

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);
    }
}

Si dovrà sostituire “nome del campo” e “valore personalizzato” con il nome e il valore effettivi che si desidera utilizzare per il campo personalizzato.

Non dimenticate di scegliere “PHP Snippet” come tipo di codice dal menu a discesa sulla destra.

Paste code snippet in WPCode code box

Scorrere poi verso il basso fino alla sezione “Pannelli di inserimento”. Qui è necessario lasciare selezionato il metodo “Inserimento automatico”.

Pick the insertion method for your custom code snippet

Con il metodo Auto Insert, lo snippet viene inserito ed eseguito automaticamente nella posizione corretta.

Una volta terminato, è necessario attivare/disattivare l’interruttore da ‘Inattivo’ ad ‘Attivo’ e poi fare clic sul pulsante ‘Salva snippet’.

Save and activate your custom code snippet

Una volta attivato lo snippet, il campo personalizzato verrà creato ogni volta che si pubblica un articolo.

Ci auguriamo che questo tutorial vi abbia aiutato a imparare come aggiungere automaticamente i campi personalizzati alla pubblicazione dei post in WordPress. Potreste anche voler imparare a visualizzare i campi personalizzati al di fuori del loop in WordPress o consultare il nostro elenco di plugin WordPress indispensabili per far crescere il vostro sito web.

Se questo articolo vi è piaciuto, iscrivetevi al nostro canale YouTube per le esercitazioni video su WordPress. Potete trovarci anche su Twitter e Facebook.

Divulgazione: I nostri contenuti sono sostenuti dai lettori. Ciò significa che se cliccate su alcuni dei nostri link, potremmo guadagnare una commissione. Vedi come WPBeginner è finanziato , perché è importante e come puoi sostenerci. Ecco il nostro processo editoriale .

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.

Il kit di strumenti WordPress definitivo

Ottenete l'accesso gratuito al nostro kit di strumenti - una raccolta di prodotti e risorse relative a WordPress che ogni professionista dovrebbe avere!

Reader Interactions

17 commentiLascia una risposta

  1. Syed Balkhi

    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. Sateesh Raghuwanshi

    I need to add this action for custom post type named ‘ad_system’

  3. nayan

    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

  4. chris

    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

      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.

      Admin

      • puanthanh

        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

  5. brian

    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?

  6. Piet

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

    • Otto

      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.

  7. Vivek Parmar

    thanks for this handy tip. previously while using custom fields i have to work manually. now this will do it automatically. thanks for saving precious time of me

Lascia una risposta

Grazie per aver scelto di lasciare un commento. Tenga presente che tutti i commenti sono moderati in base alle nostre politica dei commenti e il suo indirizzo e-mail NON sarà pubblicato. Si prega di NON utilizzare parole chiave nel campo del nome. Avremo una conversazione personale e significativa.