Come implementare tipi di post personalizzati e campi personalizzati in WordPress

Pubblicato: 2014-06-10

WordPress non si limita più solo al blog: è un sistema di gestione dei contenuti completo in grado di visualizzare e formattare qualsiasi tipo di contenuto che gli dai. Quindi parliamo di due ottimi modi per estendere WordPress: tipi di post personalizzati e campi personalizzati.

Tipi di post personalizzati

Sembra che il nostro sito di test, Monday Morning Mug (che abbiamo usato nel nostro post sul blog sull'integrazione della posta elettronica), abbia un nuovo problema da affrontare. Il nostro blog è diventato così grande che abbiamo assunto uno staff di revisione del caffè a tempo pieno. Sono stati impegnati a preparare il caffè e scrivere recensioni. Hanno pubblicato queste recensioni sul blog, ma i nostri lettori ci hanno detto che tutte queste recensioni ostacolano il contenuto del nostro blog "reale". Dobbiamo creare un posto separato per le nostre recensioni sul caffè, ma le normali pagine di WordPress non lo taglieranno. I revisori hanno anche suggerito che gli piacerebbe avere un posto dove archiviare facilmente informazioni, come il paese da cui proviene il caffè e le note di degustazione, sul sito web. Sembra un uso perfetto per un tipo di post personalizzato, una funzionalità di WordPress che ci consente di creare nuove sezioni di contenuto sul nostro sito.

I tipi di post personalizzati sono incredibilmente flessibili e possono essere implementati per qualsiasi tipo di contenuto: citazioni, video e diverse sfumature di pittura sono tutti esempi di ciò che potrebbe essere un tipo di post personalizzato.

Vorremo aggiungere una nuova sezione del nostro sito Web nella sottodirectory /coffees/ piena di recensioni di caffè. Ciò richiederà un po 'di codice, ma dovrebbe essere un processo relativamente semplice.

Nota: per fare ciò, devi essere in grado di modificare i file .php nella directory di installazione di WordPress, che di solito richiede l'accesso FTP/SFTP/SSH. Assicurati di averlo prima di procedere.

Ogni tema WordPress può utilizzare un file functions.php, che si trova in:
/wp-content/themes/your_current_theme/functions.php
Questo file viene generalmente utilizzato per modifiche al sito specifiche del tema e per modifiche al sito personalizzate più piccole, come quella che stiamo per fare.

Nota: aggiungeremo codice al file functions.php , il che significa che è specifico del tema. Se lo aggiungi al tuo file functions.php e poi cambi il tema sull'installazione di WordPress, rimuoverai il tipo di post personalizzato dal tuo sito web. Puoi mantenere tipi di contenuto personalizzati utilizzando un plug-in, come l'interfaccia utente del tipo di post personalizzato.

1. Apri il tuo file functions.php e aggiungi il seguente codice in fondo al file:

function create_new_post_type() {
$labels = array(
'name' 			 => __('Coffee Reviews'),
'singular_name'  => __('Coffee Review'),
);
$args = array(
'labels'      	 => $labels,
'public' 	  	 => true,
'has_archive' 	 => true,
'menu_position'  => 5,
'description'    => 'Reviews And Types of Coffee',
'rewrite'     	 =>
array('slug' => 'reviews'),
'supports'    	 =>
array( 'title',
'comments', 'editor',
'thumbnail', 'custom-fields', 'revisions'),
);

register_post_type('Reviews', $args);
}
add_action('init', 'create_new_post_type');

Poiché non ci piace particolarmente utilizzare il codice senza un'idea di ciò che fa, esaminiamo ciò che fa questo codice.

Nota: potresti aver notato che $labels e $args sono definiti al di fuori della funzione register_post_type() anche se vengono passati come argomenti a quella funzione in seguito. Questo metodo aiuta l'organizzazione e la leggibilità, ma puoi condensare entrambi gli array in un singolo argomento. Sarebbe solo più difficile da capire.

L'array $args contiene tutte le specifiche di cui abbiamo bisogno per definire il nostro nuovo tipo di contenuto. Ecco cosa fanno:

  • 'labels' : un array che definisce ciò che chiameremo il nostro tipo di contenuto. Sono disponibili molte altre etichette che puoi utilizzare e un elenco completo è disponibile nella documentazione qui.
  • 'public' : valore booleano che definisce se il post è visualizzabile o meno al di fuori del pannello di amministrazione.
  • 'has_archive' – Se vero, questo booleano creerà un archivio di questo tipo di post personalizzati, proprio come i post standard di WordPress.
  • 'menu_position' – Questo numero intero cambia dove va il tuo pulsante di navigazione del post personalizzato. Il numero 5 indica che andrà direttamente sotto la scheda dei post. Per un elenco completo dei codici numerici, consultare la stessa documentazione.
  • 'description' – Descrive il tipo di post.
  • 'rewrite' – Questo cambia lo slug in "recensioni", che aiuterà a creare una struttura di permalink utilizzabile. (Può anche essere booleano; controlla la documentazione per maggiori informazioni.)
  • 'supports' : un array che definisce quali funzionalità di modifica/post native di WordPress sono abilitate. Questo è abbastanza flessibile e ci sono molte più opzioni, ma avremo bisogno almeno custom-fields ed editor per questo post.

Successivamente viene chiamata la funzione register_post_type() , che crea un nuovo tipo di post chiamato Recensioni utilizzando l'array di argomenti che abbiamo appena definito.

Infine, dobbiamo chiamare un'ultima funzione per completare il processo. register_post_type() dovrebbe sempre essere inizializzato dall'azione 'init'. Possiamo agganciare la nostra nuova funzione a init chiamando

add_action(‘init’, ‘create_new_post_type’);

Stupendo! Ora, se accediamo al nostro pannello di amministrazione di WordPress, dovremmo vedere una nuova scheda a sinistra chiamata "Recensioni".

caffè_recensioni

2. Ora che abbiamo le recensioni impostate come tipo di post personalizzato, dobbiamo aggiornare la struttura del permalink in modo che i nostri lettori possano trovare facilmente i nostri post. Inoltre, rende i nostri URL molto più facili da leggere e SEO friendly.

3. Sotto la barra dei menu Impostazioni -> Permalink, troverai un sacco di opzioni comuni per le strutture dei permalink. Modificheremo l'impostazione personalizzata in modo che corrisponda al campo /%category%/%postname%/

Ciò significa che WordPress genererà URL che corrispondano alla categoria e al titolo dei nostri post.

Nota: questa è una modifica a livello di sito e influenzerà i tuoi post in altre categorie.

collegamento_permanente

Ora diamo un'occhiata all'URL di un post che i nostri revisori hanno scritto per il caffè Sumatra Ketiara:

sumatra_permalink

Fantastico! Dai un'occhiata a quell'URL. Abbiamo recensioni separate nella loro directory e l'URL è scritto in un inglese semplice. Ora i nostri lettori sanno esattamente cosa otterranno quando fanno clic su un collegamento.

Campi personalizzati

Sebbene i nostri revisori adorino la nuova sezione Recensioni, ci hanno chiesto di incorporare qualcosa nel back-end che consenta loro di inserire informazioni comuni che scrivono su ogni caffè, come il paese di origine e le note di degustazione. Questo suona come l'uso perfetto dei campi personalizzati, che, fortunatamente, sono molto facili da implementare.

1. Su un singolo editor di recensioni, vedrai il pulsante delle opzioni dello schermo nell'angolo in alto a destra dell'editor:

screen_options

che si espande in questo quando si fa clic:

screen_options_dropdown

2. Selezionare la casella Campi personalizzati.

Sotto l'editor, vedrai la casella Campi personalizzati che abbiamo appena abilitato.

campi_personalizzati_vuoti

3. Puoi digitare qualsiasi cosa in entrambe le caselle; tutto ciò che digiti e aggiungi nel campo Nome verrà salvato per un uso successivo. Qui elenchiamo la zona e il paese da cui proviene il nostro caffè.

custom_fields_region

I campi personalizzati rendono incredibilmente facile standardizzare i dati importanti per una categoria in ogni post in un luogo separato. Ora non ci resta che ottenere quelle informazioni da visualizzare nella nostra recensione.

4. Aggiungeremo questo tag di codice a uno dei nostri documenti tematici:

<br /><?php the_meta(); ?><br />

Nota: in questo esempio, inseriremo questo tag nel nostro file content.php, ma dovrai trovare una posizione adatta per la tua tabella di valori. Dovresti anche adattare questo tag in modo che corrisponda al resto del tuo tema, di cui puoi leggere di più qui.

Ricontrollando il nostro blog, possiamo vedere che il nostro tag ha inserito un elenco nella nostra recensione.

campo_personalizzato_esempio

sciccoso! Ora i nostri lettori e i nostri revisori sono entrambi felici. Siamo stati in grado di creare un tipo di post personalizzato che ci ha permesso di salvare le recensioni sul caffè e siamo stati in grado di offrire ai nostri revisori un posto dove archiviare tutte le loro informazioni importanti per ogni recensione diversa.