Custom field in wordpress: Cosa sono? A cosa servono? Come usarli?

Partiamo col dire che i custom field sono dei campi personalizzati (traduzione in italiano).
Sono dei campi che compaiono nel dettaglio di un articolo quando, di solito è posto sotto ai trackback e/o il riassunto della scheda.
Campi Personalizzati in WordPress
I custom field servono per aggiungere dettagli aggiuntivi a un post particolare. Queste ulteriori informazioni vengono chiamate meta-data. Questi meta-data possono includere parti di informazioni quali per esempio dei valori testuali o anche inserire un’immagine per poi essere richiamati all’interno del tema.
Campi Personalizzat con valori

I meta-data o anche custom field sono composti da due parti Key e Value o meglio in italiano Chiave o anche (Nome) e Valore.
La chiave è il nome dell’elemento del meta-data. Il valore è l’informazione che apparirà nella lista dei meta-dati su ogni singolo post con l’informazione associata.
Come avete visto dalle immagini in allegato ho utilizzato 2 campi personalizzati campo-1 e campo-2 come sono stai inseriti? Facile basta aggiungere il nome della chiave e il valore e cliccare sul pulsante aggiungi campo personalizzato, ripetere l’operazione anche per i futuri campi personalizzati. Una volta aggiunti i campi personalizzati che ci servono, nei futuri inserimenti di nuovi articoli questi compariranno in un menu a tendina in modo che il nome della chiave non bisogna riscriverlo da campo.
Il nome della chiave è importante poiché sarà il nome che verrà inserito nel tema per ricavare il valore stesso di quel determinato articolo quando verrà visualizzato.

Per richiamare i campi personalizzati bisogna utilizzare la funzione get_post_meta()

 get_post_meta($post_id, $key, $single);

$post_id è l’id del post che si desidera recuperare i valori del campo personalizzato.
$key
è il nome della chiave per ricavare il valore.
$single può essere true o false. Se è impostata su true la funzione restituisce un singolo risultato come una stringa. Se è impostato su false la funzione restituisce un’array di campi personalizzati

Per inserirli nel vostro tema dovete aprire il file single.php, e inserite dopo <?php the_content(); ?> così i campi personalizzati saranno inseriti dopo il contenuto dell’articolo, e aggiungere in questo modo:

<?php
 $campo1 = get_post_meta($post->ID, 'campo-1', true);
 if($campo1): ?>
 Campo-1: <strong>
 <?php echo $campo1;?>
 </strong>
 <?php
 endif;
 ?>
 <?php
 $campo2 = get_post_meta($post->ID, 'campo-2', true);
 if($campo2): ?>
 <br />
 Campo-2: <strong>
 <?php echo $campo2;?>
 </strong>
 <?php
 endif;
 ?>

Ecco l’esempio di come verrà visualizzato:
Esempio finale dei campi personalizzati

15 pensieri riguardo “Custom field in wordpress: Cosa sono? A cosa servono? Come usarli?”

  1. Ciao Domenico,
    ho creato un Custom field di tipologia true/false, ho l’esigenza di creare una lista di categorie che rispettano il filtro.
    Dalla lista poi devo poter cliccare su una specifica categoria e ritrovarmi la lista di post della relativa categoria ma sempre che rispettano il Custom field.
    grazie per l’aiuto,
    Emanuele

  2. Ciao Domenico,
    ho creato dei custom field all’interno dei miei post, si vedono correttamente e con lo stile css che ho impostato.
    Come faccio a richiamarli anche nell’homepage del sito, insieme al testo dei post?
    Grazie.

  3. Ho già utilizzato questo sistema per personalizzare il css di un articolo.
    Per quanto riguarda javascript, che codice devo inserire nella pagina single.php del tema? Mi puoi aiutare per cortesia?
    Grazie.

  4. ciao mi sto scervellano da giorni per far funzionare i campi personalizzati in questo modo.

    nome campo personalizzato YOUTUBE valore URL DI UN VIDEO DI YOUTUBE

    una volta creato un articolo, tramite il campo personalizzato YOUTUBE, sia possibile “stampare” in fondo alla pagina il logo di youtube che rimandi poi alla pagina del video.

    nella pagina single.php inserisco questo codice

    ID, ‘YOUTUBE’, true);
    if($YOUTUBE): ?>

    <?php echo '‘ ;?>

    questo metodo lo vorrei usare anche per associare file pdf o file zip agli articoli del sito, ma così come è non funziona.

    la funzione cerca il campo personalizzato ; se presente nell’articolo mi “stampa” l’icona del logo di YOUTUBE che diventa un link (se ci passo sopra con il mouse appare la manina) ma il link mi spedisce sulla pagina NOT FOUND di default del tema di wordpress che sto usando.

    Qualcuno sa come aiutarmi?

    GRAZIE MILLE
    Simone

  5. Ciao,
    è possibile inserire un video al posto dell’ ‘immagine in evidenza’ utilizzando i campi personalizzati?
    Ho trovato un articolo a riguardo che suggerisce di inserire una stringa (qui sotto) nel single.php, ma sembrerebbe non funzionare.
    Ti ringrazio per l’aiuto.

    ID, ‘post-video’, true);
    ?>

    ID, ‘large’);
    }
    ?>

    1. Per prima cosa creati il campo personalizzato in un articolo e nel campo nome metti post-video
      Poi nel campo valore metti il link di condivisone di Youtube. Es. http://youtu.be/vItX0eCycdM
      Poi nel file loop.php inserisci il codice sottostante prima di the_excerpt();

      $video= get_post_meta($post->ID, 'post-video', true);
      if( $video ):
      $embed_code = wp_oembed_get( $video );
      echo $embed_code;
      endif;

      Questo è quanto. Poi giustamente devi metterlo in un div con una dimensione tipo una miniatura altrimenti il video esce grande.
      Ciao

  6. Questo post è stato utilissimo anche a me, grazie mille! 🙂
    Volevo chiederti una cosa, però. E’ possibile personalizzare lo stile della visualizzazione dei campi personalizzati? Costruirgli magari uno sfondo, modificare i font ecc, ecc?
    Utilizzando la funzione the_meta, i comandi di riferimento per lo stile erano .post-meta e .post-meta-key.
    Con get_post_meta sono gli stessi?
    Grazie mille!

    1. quando aggiungi un nuovo articolo in alto a destra trovi “Impostazioni schermo” cliccaci ti scorre un menù e clicca il checkbox Campi Personalizzati

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.