Molto spesso ci può essere l’esigenza di avere template diversi per articoli wordpress, differenziati per categorie. Se a prima vista, soprattutto per un neofit, può parre qualcosa di difficile o impossibile, questa situazione è piuttosto diffusa e anche particolarmente facile da risolvere.

Impostare template diversi per articoli WordPress

Per prima cosa vi consiglio, come sempre, di lavorare all’interno di un child theme e di avere un backup aggiornato prima di procedere con qualsiasi modifica. Fatto questo i file che ci serviranno per apportare questa modifica sono functions.php, single.php e lo slug della categoria per la quale vogliamo avere un file single.php personalizzato e diverso da tutti gli altri post. Per chi non lo sapesse lo slug di una categoria è il nome abbreviato che questa ha. Potete ricavarlo entrando nella scheda di una singola categoria (per il nostro tutorial utilizzeremo una categoria con slug realizzazione-siti-web-portfolio).

Il passo successivo è quello di duplicare il nostro file single.php e rinominarlo a piacere, ad esempio single-portfolio.php. Una volta fatto questo possiamo apportare al nostro file single.php personalizzato che abbiamo chiamato single-portfolio.php tutte le modifiche e le personalizzazioni che vogliamo. Quando abbiamo ottenuto il risultato che ci interessa carichiamo il file all’interno della nostra directory di template.

Se proviamo ora a visualizzare un articolo pubblicato all’interno della categoria chiamata Showcase Siti Web con slug di categoria realizzazione-siti-web-portoflio vedremo che nulla è cambiato. Questo perchè non abbiamo ancora istruito WordPress. Per farlo apriamo il file functions.php e incolliamo questa porzione di codice:

//Single.php personalizzato per categoria

function get_custom_cat_template($single_template) {
global $post;

if ( in_category( 'category-name' )) {
$single_template = dirname( __FILE__ ) . '/single-template.php';
}
return $single_template;
}

add_filter( "single_template", "get_custom_cat_template" ) ;

 

Da questo codie dobbiamo sostituire category-name con lo slug della nostra categoria e single-template.php con il nome del nostro single.php che abbiamo duplicato e personalizzato.

 

Post recenti
Contact Us

We're not around right now. But you can send us an email and we'll get back to you, asap.

Illeggibile? Cambia il testo. captcha txt

Inizia a digitare e premi Enter per effettuare una ricerca