Spesso durante lo sviluppo di un sito web capita di imbattersi in una esigenza piuttosto semplice, che però non è contemplata tra le funzioni base di WordPress: escludere gli articoli di una o più specifiche categorie dalla homepage del sito, o dalla pagina “blog” che raccoglie gli ultimi articoli nel caso in cui la homepage sia invece una pagina statica.
Esistono diversi plugin che permettono di svolgere questa funzione, ma il difetto dei plugin è quello di appesantire il codice e quindi la velocità del sito stesso, per cui è preferibile utilizzare una soluzione snella e pulita che si può realizzare con poche righe di codice.

Il codice proposto va inserito nel file functions.php del tema in uso, ed è bene rimarcare il fatto che è sempre consigliabile utilizzare un “tema child“, ovvero un tema creato appositamente e dipendente da quello principale, che consente di salvare le personalizzazioni effettuate e di non dover ripetere l’operazione ogni volta che il tema originale viene aggiornato.

Altra operazione preliminare è l’individuare l’id della categoria (o delle categorie) i cui post vanno esclusi dalla homepage. Per fare questo è sufficiente recarsi nella voce “articoli -> categorie” del backend, quindi passare con il mouse sopra il nome della categoria interessata, apparirà in basso a destra nella finestra del browser il link relativo, dal quale dovremmo estrarre l’id.
Nell’esempio seguente, riferito ad una categoria di questo sito,
https://www.chrissoft.it/wp-admin/term.php?taxonomy=category&tag_ID=4
l’id richiesto è 4, dunque questo è il numero che andrà inserito nel codice.

Una volta individuato il numero (o i numeri, è possibile escludere più categorie), si apre il file functions.php del tema attivo, inserendo le seguenti righe di codice:

//Rimuovi articoli delle categorie selezionate dalla home

function escludi_categoria_home( $query ) {
if ( $query->is_home ) {
    $query->set( 'cat', '-4, -5' );
    }
    return $query;
}
 
add_filter( 'pre_get_posts', 'escludi_categoria_home' );

Nell’esempio sono state escluse le categorie 4 e 5 (notare il segno che precede il numero), ma la lista può essere allungata a piacimento.
Salvando il file modificato e ricaricandolo sul server si ottiene l’effetto desiderato, senza dover installare alcun plugin aggiuntivo.

Categorie: Wordpress

0 commenti

Lascia un commento

Segnaposto per l'avatar

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