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

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

  1. Simone Coia scrive:

    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

  2. Valentino scrive:

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

    • Serio Domenico scrive:

      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

  3. valentina scrive:

    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!

    • Serio Domenico scrive:

      Ciao Valentina, sì è possibile personalizzarli, ti basta immettere un elemento html tra la variabile di output. Es. < div class="custom_meta">< ?php echo $campo1; ?> < /div>

  4. Daniele scrive:

    Ciao, mi è stato molto utile il tuo articolo, ti ringrazio! :-)

  5. Luciano scrive:

    salve

    ma come si fà a far apparire la finestrella con scritto campi personalizzati?
    grazie
    sangiorgio

    • Serio Domenico scrive:

      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

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>