Come creare e utilizzare i campi personalizzati di WordPress
Pubblicato: 2020-04-23Uno 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:

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:

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 :

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

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


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, utilizziamoget_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:

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!

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.
