Din WordPress-hemsida ska visa upp ditt bästa innehåll. Men tänk om du har kategorier som inte hör hemma där? I så fall kanske du vill utesluta en viss kategori från webbplatsens startsida.
Som standard visar WordPress inlägg från alla kategorier på din startsida. Detta kan leda till en rörig upplevelse, särskilt om du har kategorier som är avsedda för internt bruk eller specifika målgrupper.
I den här artikeln visar vi dig hur du enkelt kan utesluta en kategori från din WordPress-hemsida med två av de bästa metoderna vi har hittat.
Varför utesluta en Category från WordPress Homepage?
WordPress allow you to sortera content into categories and tags. Ibland kanske du vill använda en kategori för posts som inte är en del av dina normala blogginlägg.
Som standard tillåter inte WordPress dig att dölja post i specifika kategorier från homepage eller archives. Detta gör att du får oönskade posts som visas på din homepage.
Med detta sagt, låt oss se hur du enkelt kan utesluta en viss kategori från din WordPress homepage. Vi visar dig två olika metoder, och du kan välja den som passar bäst för your behov.
Metod 1: Uteslut en kategori från WordPress med hjälp av plugin
Det första du behöver göra är att installera och aktivera pluginet Ultimate Category Excluder. För mer detaljer bör du följa vår guide om hur du installerar ett plugin för WordPress.
När du är aktiverad måste du gå till Settings ” Category Excluder page. Det kommer att visa alla kategorier som är tillgängliga på din WordPress blogg.
Härifrån kan du helt enkelt kontrollera en eller flera kategorier under kolumnen ”Exclude from front page”. Om du vill kan du också utesluta kategorin från RSS-flöden, archives eller till och med från WordPress search.
Glöm inte att klicka på knappen ”Update” för att spara dessa Settings.
Nu kan du besöka din website och se att posts från de valda kategorierna är uteslutna från front page.
Metod 2: Uteslut en kategori från WordPress Homepage med hjälp av kod
Den här metoden är obligatorisk för att du ska kunna add to kod i dina WordPress-filer. Om du inte har gjort det tidigare kan du läsa vår guide om hur du copy and pastear code snippets i WordPress.
Du måste lägga till följande kod i functions.php-filen i ditt theme, i ett site-specifikt plugin eller i ett code snippets plugin.
function exclude_category_home( $query ) {
if ( $query->is_home ) {
$query->set( 'cat', '-5' );
}
return $query;
}
add_filter( 'pre_get_posts', 'exclude_category_home' );
Glöm inte att ersätta ID:n (-5) med din kategoris ID. Det kommer att dölja alla blogginlägg från homepage som tillhör den kategori som matchar detta ID.
Note: Se till att add to ett minus (-) tecken med kategorin ID:n.
Är du ej säker på hur du hittar ID:n för kategorin? Se vår guide om hur du hittar ID:n för kategorier i WordPress.
Det säkraste och enklaste sättet att add to denna kod i WordPress är att använda pluginet WPCode. Det allow you to add custom code without directly editing your WordPress files. Så du behöver inte oroa dig för att förstöra din site.
För att komma igång måste du installera och aktivera det gratis pluginet WPCode. Om du behöver hjälp kan du läsa den här guiden om hur du installerar ett plugin för WordPress.
När WPCode är aktiverat, head till Code Snippets ” + Add Snippet i din WordPress dashboard.
Håll sedan muspekaren över alternativet ”Add Your Custom Code (New Snippet)” och klicka på knappen ”Use snippet” under den.
Därifrån måste du välja ”PHP Fragment Kodu” som kodtyp från listan med alternativ som visas på skärmen.
På sidan ”Create Custom Snippet” kan du börja med att lägga till en titel för ditt snippet. Det kan vara vad som helst som hjälper dig att komma ihåg vad koden är till för.
Därefter klistrar du bara in koden från ovan i rutan ”Code Preview”.
Efter det är allt du behöver göra att toggle omkopplaren från ”Inaktiverad” till ”Aktiv” och trycka på knappen ”Save Snippet” högst upp på sidan.
Om du vill utesluta flera kategorier kan du ändra koden så här:
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' );
Ersätt helt enkelt ID:n (-5, -9, -23) med ID:n för dina kategorier för att utesluta dem från din WordPress homepage.
Vi hoppas att den här artikeln hjälpte dig att lära dig hur du utesluter en kategori från din homepage i WordPress. Du kanske också vill se dessa mest eftertraktade kategorihack och tillägg för WordPress som hjälper dig att använda kategorier mer effektivt, eller våra expertval av de bästa kontaktformulärstilläggen för WordPress.
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
Jiří Vaněk
I initially used the Exclude Category plugin, but as my plugins started to accumulate, I tried your snippet, and it works just as great. Thank you very much for providing the code. It saved me another plugin that I don’t have to have in the system.
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.
Administratör
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.
Administratör
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/
Administratör
Isaac
thanks genius this works perfectly
WPBeginner Support
Glad our guide was helpful
Administratör
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.
Administratör
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/
Administratör
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
Administratör
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.
Administratör
Christopher
Thanks for this article.
I want to ask if it’s also possible to exclude Google Adsense ads from some specific categories