Come mostrare articoli di una o alcune categorie in Home WordPress

Oggi vedremo come mostrare gli articoli di una sola categoria o alcune categorie nell’homepage dei siti o blog realizzati in WordPress. Per evitare di perdere le modifiche che andremo a fare nel nostro file function.php, è bene creare un tema child: puoi anche saltare questo passaggio ma sappi che se aggiornerai il tema perderai queste modifiche.

La prima cosa da fare è conoscere il numero identificativo della categoria, ossia l’ID. Per trovare l’ID della categoria da mostrare sulla nostra home dobbiamo, dal pannello di amministrazione di WordPress, entrare nella pagina di modifica della categoria stessa e trovare l’ID all’interno dell’indirizzo URL come da immagine:

trovare-id-categoriaIn questo esempio abbiamo un ID=63: 63 è il numero che ci serve per mostrare questa categoria in Homepage.

Il codice da inserire per mostrate una sola categoria in homepage

Il codice andrà inserito nel file function.php del tema, o meglio del child theme. Dal pannello di WordPress cliccare su Aspetto > Editor > function.php e dunque inserire:

function categoria_home( $query ) {
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( 'cat', '63');
}
}
add_action( 'pre_get_posts', 'categoria_home' );

Come da esempio precedente abbiamo utilizzato il 63: dovrai sostituire questo numero con l’ID della tua categoria.

Se vuoi mostrare più categorie invece, puoi aggiungere altri ID:

$query->set( 'cat', '63', '10');

In questo esempio abbiamo gli ID 63 e 10, che corrispondono a due diverse categorie. Dopo aver salvato dovresti vedere la categoria o le categorie che hai scelto di ostrare in Home.

Escludere categorie: non visualizzare una o più categorie in homepage

Se invece vuoi escludere dalla visualizzazione una o più categorie puoi aggiungere un filtro, sempre nel file function.php:

function escludi_categoria($query) {
if ( $query->is_home ) {
$query->set('cat', '-63');
}
return $query;
}
add_filter('pre_get_posts', 'escludi_categoria');

In questo modo la categoria non sarà mostrata in homepage. Come nell’esempio precedente potrai aggiungere altre categorie, questa volta per selezionare quelle che non verranno mostrate in home.

Se hai dubbi o vuoi dire la tua non esitare a commentare!

8 Comments
  1. Reply
    Adriano 28/09/2014 at 23:18

    Ciao! sono diventato scemo cercando una risposta dal genere su wordpress.com

    sto facendo un sito super low cost con un tema free e non riuscivo a trovare il modo di far vedere gli articoli sulla home.. mitico! grazie!!

  2. Reply
    fabrizio 07/04/2015 at 01:39

    ma esattamente in che punto va inserito questo codice?

    • Reply
      Elio 07/04/2015 at 10:22

      Ciao Fabrizio,
      Il codice può essere inserito alla fine del file function.php, subito prima della chiusura PHP “?>”

  3. Reply
    emiliano 22/04/2015 at 16:37

    mi scuso in anteprima per la mia totale ignoranza ma il quesito che mi sta facendo impazzire è questo: Sto mettendo dei contenuti nel mio blog. Gli articoli vengono visualizzati tra le notizie di home solo se flaggo il post su una determinata categoria. Se flato lo stesso contenuto in altre categorie il contenuto viene visualizzato ma non in homepage. Come faccio a capire quali attributi la categoria deve avere per poter pubblicare anche in homepage? Non so se mi sono spiegato ma ci provo…

    • Reply
      Elio 22/04/2015 at 18:50

      Probabilmente dipende dal tema che utilizzi, controlla la documentazione o le impostazioni.

  4. Reply
    Gabriele 10/02/2016 at 12:41

    come posso richiamare questa funzione in un tema child visto che richiamera il functions del tema padre?

    • Reply
      Elio 11/02/2016 at 12:41

      si certo

  5. Reply
    Enrico 09/09/2016 at 09:06

    PERFETTO!!! Funzionato al primo colpo!!!

Leave a reply