Come creare e utilizzare i campi personalizzati di WordPress

Pubblicato: 2020-04-23

Uno dei principali vantaggi di WordPress è la sua versatilità, possibile grazie alle sue funzionalità di estensibilità integrate. Tra le diverse formule di estensione che offre troviamo campi personalizzati :

WordPress ha la capacità di consentire agli autori dei post di assegnare campi personalizzati a un post. Queste informazioni extra arbitrarie sono note come metadati .

I metadati vengono gestiti con coppie chiave/valore . La chiave è il nome dell'elemento di metadati. Il valore è l'informazione che apparirà nell'elenco dei metadati su ogni singolo post a cui l'informazione è associata.

Documentazione WordPress.org

Ad esempio, se vogliamo creare metadati su concetti relativi al mondo dei motori, avremmo cose come:

  • Marca : Ford
  • Modello : Focus
  • Colore : bianco
  • Potenza : 110 CV
  • eccetera

Nel post di oggi ti mostrerò come creare campi personalizzati, come usarli e come potrebbero aiutarti come utente e/o sviluppatore di WordPress. Tieni presente che dovrai avere alcune conoscenze di base su come programmare in WordPress... ma spero che sarai in grado di seguire facilmente il post, soprattutto quando ti mostrerò come utilizzare un fantastico plug-in per lavorare con i campi personalizzati: Campi personalizzati avanzati.

Come funzionano i campi personalizzati di WordPress

Il modo migliore per capire cosa sono i campi personalizzati e come funzionano è dare un'occhiata al database di WordPress. Come forse già saprai, ogni volta che crei un post, una pagina o (quasi) qualsiasi altro tipo di contenuto in WordPress, questo nuovo contenuto viene archiviato in una tabella chiamata wp_posts (il prefisso può cambiare).

Le tabelle in un database sono proprio come qualsiasi altra tabella con cui hai lavorato in precedenza. Fondamentalmente, hanno una serie di colonne che definiscono "cosa puoi memorizzare" e righe con le informazioni specifiche. Nel caso di wp_posts , le colonne sono cose come titolo , contenuto , autore , data di pubblicazione e così via. Niente di speciale, a dire il vero:

tabella wp_posts in un database WordPress.
tabella wp_posts in un database WordPress.

Uno dei "problemi" dell'utilizzo delle tabelle è che le informazioni che puoi archiviare in esse sono limitate alle colonne che hanno. Se desideri archiviare informazioni su un nuovo concetto, non sarai in grado di farlo. Quindi, come puoi creare campi personalizzati, se la tabella è già impostata? Bene, abbastanza semplice, hai solo bisogno di un nuovo tavolo progettato per questo.

In ogni database di WordPress c'è un'altra tabella chiamata wp_postmeta come la seguente:

tabella wp_postmeta nel database di WordPress.
tabella wp_postmeta nel database di WordPress.

Come puoi vedere nello screenshot precedente, la tabella dei metadati è progettata in modo tale da poter creare coppie chiave/valore utilizzando le colonne meta_key e meta_value e associare ciascuna coppia a un contenuto specifico utilizzando la colonna post_id . Abbastanza facile!

Quindi diamo un'occhiata più da vicino a come possiamo lavorare con questo tavolo!

Come creare un nuovo campo personalizzato

Come abbiamo già visto, i campi personalizzati sono sempre associati a un post specifico. Pertanto, ti aspetteresti una sorta di interfaccia utente nell'editor per, beh, modificarli, giusto? Sfortunatamente, se dai un'occhiata a Gutenberg, non c'è nessun...

Per modificare i campi personalizzati nell'editor di WordPress, devi abilitare un pannello avanzato. Basta fare clic sull'icona in alto a destra nell'editor e quindi fare clic su Opzioni :

Impostazioni di Gutenberg
Impostazioni di Gutenberg.

Si aprirà una nuova finestra con i diversi pannelli disponibili in Gutenberg. Trovane uno denominato Campi personalizzati e abilitalo:

Come attivare i campi personalizzati in Gutenberg
Come attivare i campi personalizzati in Gutenberg.

Una volta abilitato, puoi facilmente creare e modificare i campi personalizzati del tuo post:

Campi personalizzati a Gutenberg
Campi personalizzati a Gutenberg.

Questa semplice interfaccia ci consente di creare tutte le coppie chiave/valore che vogliamo. Nello screenshot sopra, ad esempio, vedi come ho aggiunto alcuni dei campi che introduco all'inizio di questo post: nelio_brand , nelio_model , nelio_color e nelio_hp .

Come utilizzare un campo personalizzato

Per utilizzare un campo personalizzato hai bisogno di tre cose: (a) l'identificatore di un post, (b) il nome del campo che vuoi usare e (c) decidere dove usarlo. Ad esempio, supponiamo di voler visualizzare il campo nelio_brand che abbiamo creato nell'esempio sopra alla fine di un post. Per recuperare il suo valore, c'è una funzione chiamata get_post_meta che possiamo usare come segue:

 function nelio_add_brand_field( $content ) { $brand = get_post_meta( get_the_ID(), 'nelio_brand', true ); return "{$content}\n<p><strong>Brand:<strong> {$brand}</p>"; } add_filter( 'the_content', 'nelio_add_brand_field' );

Si noti che nell'esempio precedente affrontiamo le tre cose che ho menzionato prima:

  • Il primo parametro di get_post_meta è precisamente l'identificatore del post che mi interessa. In questo caso, utilizziamo get_the_ID() , che restituisce l'ID del post corrente.
  • Il secondo parametro è il nome del nostro meta campo (in questo caso, nelio_brand ).
  • Infine, stiamo usando il meta campo nel front-end, come qualcosa che vogliamo mostrare alla fine del contenuto del post. E puoi dirlo perché lo sto recuperando e usandolo durante il filtro the_content .

Il risultato è qualcosa di simile a quello che puoi vedere nel seguente screenshot:

Screenshot di un post che mostra un campo personalizzato subito dopo il suo contenuto.
Screenshot di un post che mostra un campo personalizzato subito dopo il suo contenuto.

Ma questo è solo un esempio, ovviamente! Puoi utilizzare i campi personalizzati in molti modi diversi dalla "stampa di qualcosa nel front-end". Ad esempio, Nelio A/B Testing è uno dei plugin che abbiamo creato ed è progettato per eseguire test divisi in un sito WordPress. Un test A/B richiede la creazione di contenuti alternativi e il nostro plug-in utilizza campi personalizzati per etichettare i contenuti alternativi in ​​quanto tali e limita come e quando questi contenuti sono accessibili da un visitatore.

Funzioni di WordPress per gestire i campi personalizzati

Allo stesso modo in cui abbiamo un metodo per recuperare il valore di un campo personalizzato ( get_post_meta ), WordPress ha metodi aggiuntivi per creare, aggiornare ed eliminare a livello di codice i campi personalizzati: add_post_meta , update_post_meta e delete_post_meta . Queste funzioni funzionano come ti aspetteresti, quindi non ti disturberò con ulteriori spiegazioni...

Che cos'è e come utilizzare i campi personalizzati avanzati

Ora che sai come funzionano i campi personalizzati in WordPress, penso di poterti già dare la buona notizia: ci sono diversi plugin che semplificano notevolmente il processo di lavoro con i campi personalizzati!

Uno dei plugin più conosciuti e valutati per creare metadati in un sito WordPress è Advanced Custom Fields. Con esso, non solo sarai in grado di definire campi personalizzati in un modo più semplice, ma avrai anche la possibilità di usufruire di un'interfaccia utente migliorata per gestire questi campi. Questa interfaccia fa in modo che i valori che hai impostato abbiano un senso e siano semanticamente significativi: date, immagini, gallerie, intervalli, numeri... lo chiami!

Screenshot del plug-in Campi personalizzati avanzati
Screenshot del plug-in Advanced Custom Fields.

Se vuoi saperne di più su ACF, ci sono molte risorse là fuori. Ma penso che questo discorso di Jo Minney possa davvero farti iniziare:

Speriamo che questa piccola introduzione ai campi personalizzati ti aiuti a diventare uno sviluppatore WordPress migliore!

Immagine in primo piano di Polina Rytova su Unsplash.