Volete escludere una categoria specifica dalla homepage del vostro sito?
Per impostazione predefinita, WordPress visualizza i post di tutte le categorie nella homepage. In alcuni casi, potreste non volerlo.
In questo articolo vi mostreremo come escludere facilmente una categoria dalla vostra homepage di WordPress.
Perché escludere una categoria dalla homepage di WordPress?
WordPress consente di ordinare i contenuti in categorie e tag. A volte si desidera utilizzare una categoria per i post che non fanno parte delle normali voci del blog.
Per impostazione predefinita, WordPress non consente di nascondere i post di categorie specifiche dalla homepage o dagli archivi. In questo modo, i post indesiderati appaiono nella homepage.
Detto questo, vediamo come escludere facilmente una categoria specifica dalla homepage di WordPress. Vi mostreremo due metodi diversi e potrete scegliere quello più adatto alle vostre esigenze.
Metodo 1: Escludere una categoria da WordPress utilizzando un plugin
La prima cosa da fare è installare e attivare il plugin Ultimate Category Excluder. Per maggiori dettagli, seguite la nostra guida su come installare un plugin di WordPress.
Dopo l’attivazione, è necessario andare alla pagina Impostazioni ” Esclusore di categorie. Verranno visualizzate tutte le categorie disponibili sul vostro blog WordPress.
Da qui, potete semplicemente selezionare una o più categorie nella colonna “Escludi dalla prima pagina”. Se volete, potete anche escludere la categoria dai feed RSS, dagli archivi o anche dalla ricerca di WordPress.
Non dimenticate di fare clic sul pulsante “Aggiorna” per memorizzare le impostazioni.
Ora è possibile visitare il sito web per vedere che i post delle categorie selezionate sono esclusi dalla prima pagina.
Metodo 2: Escludere una categoria dalla homepage di WordPress utilizzando il codice
Questo metodo richiede l’aggiunta di codice ai file di WordPress. Se non l’avete mai fatto prima, consultate la nostra guida su come copiare e incollare snippet di codice in WordPress.
È necessario aggiungere il seguente codice al file functions.php del tema, a un plugin specifico per il sito o a un plugin di snippets di codice.
function exclude_category_home( $query ) {
if ( $query->is_home ) {
$query->set( 'cat', '-5' );
}
return $query;
}
add_filter( 'pre_get_posts', 'exclude_category_home' );
Non dimenticare di sostituire ID (-5) con l’ID della categoria. Questo nasconderà dalla homepage tutti i post del blog appartenenti alla categoria che corrisponde a questo ID.
Nota: assicurarsi di aggiungere il segno meno (-) all’ID della categoria.
Non siete sicuri di come trovare l’ID della categoria? Consultate la nostra guida su come trovare gli ID delle categorie in WordPress.
Il modo più sicuro e semplice per aggiungere questo codice in WordPress è utilizzare il plugin WPCode. Esso consente di aggiungere codice personalizzato senza modificare direttamente i file di WordPress. Quindi, non dovete preoccuparvi di rompere il vostro sito.
Per iniziare, è necessario installare e attivare il plugin gratuito WPCode. Se avete bisogno di aiuto, consultate questa guida su come installare un plugin di WordPress.
Una volta attivato WPCode, andate su Code Snippets ” + Add Snippet nella vostra dashboard di WordPress.
Quindi, passare il mouse sull’opzione “Aggiungi codice personalizzato (nuovo snippet)” e fare clic sul pulsante “Usa snippet” sotto di essa.
Nella pagina “Crea snippet personalizzato”, si può iniziare aggiungendo un titolo per il proprio snippet. Può essere qualsiasi cosa che aiuti a ricordare a cosa serve il codice.
Quindi, è sufficiente incollare il codice di cui sopra nella casella “Anteprima codice” e selezionare “PHP Snippet” come tipo di codice dal menu a discesa.
A questo punto, è sufficiente spostare l’interruttore da “Inattivo” ad “Attivo” e premere il pulsante “Salva snippet” nella parte superiore della pagina.
Se si desidera escludere più categorie, si può modificare il codice in questo modo:
function exclude_category_home( $query ) {
if ( $query->is_home ) {
$query->set( 'cat', '-5, -9, -23' );
}
return $query;
}
add_filter( 'pre_get_posts', 'exclude_category_home' );
È sufficiente sostituire gli ID (-5, -9, -23) con gli ID delle categorie per escluderle dalla homepage di WordPress.
Speriamo che questo articolo vi abbia aiutato a capire come escludere una categoria dalla vostra homepage di WordPress. Potreste anche voler vedere questi hack e plugin per le categorie più ricercati per WordPress che vi aiuteranno a utilizzare le categorie in modo più efficiente, oppure le nostre scelte degli esperti sui migliori plugin per i moduli di contatto per WordPress.
Se questo articolo vi è piaciuto, iscrivetevi al nostro canale YouTube per le esercitazioni video su WordPress. Potete trovarci anche su Twitter e Facebook.
Syed Balkhi
Hey WPBeginner readers,
Did you know you can win exciting prizes by commenting on WPBeginner?
Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
You can get more details about the contest from here.
Start sharing your thoughts below to stand a chance to win!
Joseph
Will using the Ultimate Category Excluder plugin block Googlebot from crawling posts in that particular category? I don’t want my site users to access a particular category.
WPBeginner Support
As long as the pages can be found in some way by Google from something like a sitemap or other page on your site then there the crawler would be fine.
Admin
Johan
As always: a huge THANKS for all your great tutorials!
Excluding a category the functions.php-way works great for me. BUT: I find that the same category is also excluded from a custom WP_Query that I put on a profile page. Why is that?
My query:
$the_query = new WP_Query( array( ‘meta_key’ => ‘fetcher’, ‘meta_value’ => $user_ID ) );
WPBeginner Support
Glad it was helpful, the code should only affect the home page, one possibility you could check would be to see if your caching could be the culprit.
Admin
Johan Hagvil
I found the solution!
Changing the second line of my snippet to:
if ( $query->is_main_query() && $query->is_front_page() ) {
WPBeginner Support
Thank you for sharing for anyone else who may be running into the same error!
metin
Let’s assume the id of the blog category is 1. Can I add php code about showing all ids greater than -2 so that it doesn’t show all categories greater than 1. Can there be a method that will work with php code that will work dynamically instead of adding an id every time?
WPBeginner Support
For what you’re wanting to achieve, it would be better to select the categories you want to show instead of trying to exclude all other categories. You can see how to do this in our article below!
https://www.wpbeginner.com/wp-tutorials/how-to-display-recent-posts-from-a-specific-category-in-wordpress/
Admin
Isaac
thanks genius this works perfectly
WPBeginner Support
Glad our guide was helpful
Admin
Abdullah Al Muaz
thanks dude. it works.
Abdullah Al Muaz
i use a specific page to display recent posts. so i think for my case it should not be /code $query->is_home /code
what should i put instead of “home”
i want to hide specific category from “blog”
WPBeginner Support
The code should work the same for your blog page if you set a page for your recent posts.
Admin
MENHADI HASAN
Hi,
How to exclude whole category and custom from the search form or can I modified search form to just search by a specific taxonomy rest all are excluded from the search
WPBeginner Support
For hiding content from your search, you would want to take a look at our page here: https://www.wpbeginner.com/plugins/how-to-exclude-specific-pages-authors-and-more-from-wordpress-search/
Admin
Sidchan Mall
Thanks for the tip, I began using the plugin to exclude theme-specific content posts (testimonials, sliders) on my website!
WPBeginner Support
You’re welcome, glad our guide could help
Admin
Paolo
I followed the Method 2 instructions, but after the change the media library doesn’t work anymore!
WPBeginner Support
The code should not affect your media library unless there is a larger error that is affecting your site. It would depend on the error message for the reason.
Admin
Christopher
Thanks for this article.
I want to ask if it’s also possible to exclude Google Adsense ads from some specific categories