Tutorial WordPress affidabili, quando ne hai più bisogno.
Guida per principianti a WordPress
WPB Cup
25 Milioni+
Siti web che utilizzano i nostri plugin
16+
Anni di esperienza con WordPress
3000+
Tutorial WordPress di esperti

Come aggiungere campi personalizzati automaticamente alla pubblicazione di un post in WordPress

Creare automaticamente campi personalizzati al momento della pubblicazione di post in WordPress è un modo potente per risparmiare tempo e ridurre attività ripetitive, specialmente se gestisci un sito di grandi dimensioni o lavori su funzionalità personalizzate.

Invece di aggiungere manualmente gli stessi campi personalizzati ogni volta che pubblichi un certo tipo di contenuto, puoi automatizzare il processo e mantenere la coerenza.

Nel corso degli anni abbiamo lavorato a molti progetti WordPress, realizzando di tutto, da semplici blog a siti complessi con funzionalità avanzate. Lungo il percorso, abbiamo raccolto molti suggerimenti pratici come questo che possono rendere il tuo flusso di lavoro più veloce ed efficiente.

In questo tutorial, ti mostreremo come aggiungere automaticamente campi personalizzati durante la pubblicazione di post in WordPress, passo dopo passo.

Come aggiungere campi personalizzati automaticamente alla pubblicazione di un post in WordPress

Perché aggiungere campi personalizzati automaticamente?

I campi personalizzati ti consentono di aggiungere informazioni aggiuntive ai tuoi post. Queste informazioni possono essere visualizzate sul tuo sito web, mantenute private o utilizzate da temi e plugin per estendere la funzionalità del tuo sito web WordPress.

Ci sono molti modi creativi per utilizzare i campi personalizzati. Troverai un elenco di idee utili nella nostra guida suggerimenti, trucchi e hack per i campi personalizzati.

In alcuni casi, si desidera che un campo personalizzato venga creato automaticamente ogni volta che si pubblica un post. Questo è particolarmente utile quando si aggiunge funzionalità a WordPress in modo da poterlo utilizzare come più di un semplice blog.

Ad esempio, su WPBeginner, abbiamo utilizzato questo metodo quando abbiamo creato un sito web di galleria. Volevamo memorizzare URL brevi per ogni elemento inviato alla galleria. Pertanto, abbiamo creato automaticamente un campo personalizzato per memorizzare lo URL breve quando ogni post veniva pubblicato.

Questo tipo di automazione aiuta gli sviluppatori a risparmiare tempo, ridurre gli errori e creare siti WordPress più potenti con meno sforzo manuale.

Ora, vediamo come impostarlo.

Aggiungere campi personalizzati automaticamente alla pubblicazione di un post

Questo metodo prevede l'aggiunta di uno snippet di codice personalizzato al file functions.php del tuo tema. Non consigliamo di modificare i file del tema agli utenti inesperti, poiché anche un piccolo errore potrebbe danneggiare il tuo sito web.

Invece, in questo tutorial ti mostreremo come utilizzare il plugin WPCode.

WPCode

WPCode semplifica l'aggiunta di snippet di codice in WordPress senza dover modificare il file functions.php del tuo tema. Puoi anche gestire tutti i tuoi snippet di codice da un'unica schermata centrale.

Se questa è la prima volta che aggiungi codice a WordPress, allora dovresti consultare la nostra guida su come copiare e incollare snippet di codice in WordPress per maggiori dettagli.

Per iniziare, devi installare e attivare il plugin gratuito WPCode. Se hai bisogno di aiuto, consulta il nostro tutorial su come installare un plugin per WordPress.

Nota: La versione gratuita di WPCode ha tutto ciò di cui hai bisogno per aggiungere codice personalizzato in WordPress. Per funzionalità più avanzate come snippet pianificati, pixel di conversione e altro ancora, puoi passare a WPCode Pro.

Una volta attivato il plugin, verrà aggiunto un nuovo elemento di menu etichettato 'Code Snippets' alla barra di amministrazione di WordPress. Fai clic su di esso e quindi premi il pulsante 'Add New' nella schermata successiva.

Fai clic sul pulsante Aggiungi nuovo per aggiungere il tuo primo snippet di codice personalizzato in WPCode

Questo ti porterà alla Libreria Snippet di WPCode.

Da qui, naviga all'opzione 'Add Your Custom Code (New Snippet)' e fai clic sul pulsante '+ Add Custom Snippet' sotto di essa.

Fai clic sul pulsante Aggiungi snippet personalizzato

Successivamente, seleziona ‘PHP Snippet’ come tipo di codice dall'elenco di opzioni che appaiono sullo schermo.

Seleziona Snippet PHP come tipo di codice

Dopodiché, devi dare un titolo allo snippet, quindi copiare il seguente codice e incollarlo nella casella ‘Code Preview’.

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

Dovrai sostituire ‘field-name’ e ‘custom value’ con il nome e il valore effettivi che desideri utilizzare per il campo personalizzato.

Incolla lo snippet di codice nella casella di codice di WPCode

Successivamente, scorri verso il basso fino alla sezione ‘Insertion’. Qui, dovrai lasciare selezionato il metodo ‘Auto Insert’.

Scegli il metodo di inserimento per il tuo snippet di codice personalizzato

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

Una volta terminato, dovrai attivare l'interruttore da ‘Inactive’ ad ‘Active’ e quindi fare clic sul pulsante ‘Save Snippet’.

Salva e attiva il tuo snippet di codice personalizzato

Una volta attivato lo snippet, il campo personalizzato verrà creato ogni volta che pubblichi un post.

Speriamo che questo tutorial ti abbia aiutato a imparare come aggiungere campi personalizzati automaticamente alla pubblicazione di un post in WordPress. Potresti anche voler imparare come visualizzare campi personalizzati al di fuori del loop in WordPress o dare un'occhiata al nostro elenco di plugin WordPress indispensabili per far crescere il tuo sito web.

Se ti è piaciuto questo articolo, iscriviti al nostro canale YouTube per tutorial video su WordPress. Puoi anche trovarci su Twitter e Facebook.

Dichiarazione: Il nostro contenuto è supportato dai lettori. Ciò significa che se fai clic su alcuni dei nostri link, potremmo guadagnare una commissione. Vedi come è finanziato WPBeginner, perché è importante e come puoi supportarci. Ecco il nostro processo editoriale.

Il Toolkit WordPress Definitivo

Ottieni l'accesso GRATUITO al nostro toolkit - una raccolta di prodotti e risorse relative a WordPress che ogni professionista dovrebbe avere!

Interazioni del lettore

18 CommentsLeave a Reply

  1. Se ho un sito web con più utenti e voglio che una biografia dell'autore venga inserita automaticamente quando viene pubblicato un articolo, posso usare questa guida? Cioè, i campi personalizzati possono essere utilizzati per garantire che una breve biografia dell'autore venga inserita all'inizio a seconda di chi scrive l'articolo? Vorrei che fosse automatizzato in questo modo. Attualmente, lo facciamo usando Elementor, dove ogni autore ha il suo modello salvato e deve inserirlo manualmente all'inizio.

  2. Ho bisogno di aggiungere questa azione per il tipo di post personalizzato chiamato 'ad_system'

  3. Voglio aggiungere l'ID della categoria per il post nella tabella post_meta. Come può essere modificata la funzione function add_custom_field_automatically($post_ID) per accomodare ciò?

    Grazie

  4. Invece di aggiungere il campo personalizzato al momento della creazione del post, come posso visualizzare un campo personalizzato per impostazione predefinita nella pagina di amministrazione?

    • Se noti, il codice sopra non ha nulla a che fare con i tipi di post personalizzati. Aggiunge solo a 'content type' Post e Pagina. Quindi dovresti specificare l'hook per il tuo tipo di post personalizzato.

      Amministratore

      • Grazie per la risposta. Puoi aiutarmi con questo codice.
        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);
        }
        }
        Quando il campo meta dell'utente viene modificato, voglio eliminare automaticamente il valore del campo personalizzato e aggiornarlo con quello nuovo

  5. Sto lavorando per aggiungere alcuni campi personalizzati nascosti alla pubblicazione/aggiornamento di un post (precedendo il nome del campo con “_”), ma per qualche motivo devo aggiornare il post due volte prima che le voci wp_postmeta vengano scritte nel database.

    Ho provato a modificare la priorità e a sperimentare con altri hook di azione (draft_to_publish, edit_post, ecc.) ma non sembra fare alcuna differenza.

    Qualche idea?

  6. funzionerà anche per i tipi di post personalizzati?
    qualcosa come add_action(‘publish_custom-post-typ-name’, ‘add_custom_field_automatically’);

    • Sì, lo farà.

      Uno svantaggio di questa tecnica di cui le persone dovrebbero essere consapevoli è che se qualcuno modifica un post pubblicato, questo hook verrà nuovamente attivato alla modifica. Pertanto, è necessario verificare la presenza dei metadati prima di aggiungerli, o di aggiornarli, o di fare ciò che ha più senso per il tuo caso d'uso.

      Se vuoi che il tuo codice venga eseguito solo alla pubblicazione iniziale, puoi usare l'hook transition_post_status. Questo hook funziona così:


      add_action('transition_post_status','example',10,3);
      function example($new, $old, $post) {
      // $new è il nuovo stato del post ('publish')
      // $old è il vecchio stato del post ('draft')
      // $post è l'Oggetto Post completo (quindi usa $post->ID per l'ID, ecc.)
      }

      Quindi, qui puoi fare un controllo per qualcosa di simile:

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

      Per far sì che il tuo codice venga utilizzato solo quando lo stato del post passa effettivamente a pubblicato da qualunque fosse prima. Questo hook viene attivato nello stesso momento degli hook {$status}_{$post-type}, quindi il loro funzionamento è fondamentalmente lo stesso.

  7. grazie per questo utile suggerimento. in precedenza, quando usavo i campi personalizzati, dovevo lavorare manualmente. ora questo lo farà automaticamente. grazie per avermi fatto risparmiare tempo prezioso

Lascia una risposta

Grazie per aver scelto di lasciare un commento. Tieni presente che tutti i commenti sono moderati secondo la nostra politica sui commenti, e il tuo indirizzo email NON verrà pubblicato. Si prega di NON utilizzare parole chiave nel campo del nome. Avviamo una conversazione personale e significativa.