Vill du att en kategori ska visas eller döljas beroende på om den har några posts i WordPress?
Som standard visar WordPress inte tomma kategorier. Men ibland kanske du vill visa dem även om de inte har något content.
I den här artikeln kommer vi att visa dig några enkla sätt att dölja eller visa en kategori i WordPress, beroende på om den har några posts.
Varför dölja eller displaya tomma kategorier i WordPress
WordPress levereras med två taxonomier som standard: kategorier och taggar. Medan taggar används för specifika ämnen i en artikel, används kategorier i en mycket bredare bemärkelse.
Många site-ägare använder kategorier för att skapa olika sections för sina WordPress-webbplatser.
Till exempel, på WPBeginner, har vi olika kategorier som täcker huvudsektionerna i vårt övergripande content.
Som standard visar WordPress ej tomma kategorier i widgetar för kategorier och i kategorilistor.
Vissa website-ägare kan dock fortfarande behöva visa tomma kategorier på sina WordPress bloggar.
Till exempel om de arbetar med en design av ett custom theme eller om de helt enkelt vill att deras användare ska se de tomma kategorierna och fylla dem med användargenererat content.
På samma sätt kanske vissa websites vill dölja vissa kategorier som inte har några posts medan de fortfarande visar andra tomma kategorier.
I den här guiden kommer vi att visa dig hur du enkelt döljer eller visar tomma kategorier i WordPress.
Så här visar du tomma kategorier i WordPress
WordPress använder nu widget block för att ersätta de gamla klassiska widgetarna. Detta gör det lite svårare att ändra parametrarna som används av categories block för att lista kategorier.
För att uppnå önskat resultat måste vi skriva vår egen kod för att lista kategorier och sedan displaya den med hjälp av en shortcode.
För den här tutorialen måste du add to lite kod till din WordPress website. Om du inte har gjort det tidigare kan du läsa vår guide om hur du lägger till customize code snippets i WordPress.
Först måste du lägga till följande kod i ditt WordPress temas functions.php-fil eller lägga till code snippet med hjälp av WPCode (rekommenderas).
För detaljerade instruktioner, se vår guide om hur du enkelt lägger till custom code i WordPress.
function wpb_list_categories() {
// define category list parameneters
$args = array (
'echo' => false,
'title_li' => '',
'hide_empty' => 0
);
// get categories list
$display_cats = wp_list_categories($args);
//display custom categories list
return $display_cats;
}
// create shortcode
add_shortcode('custom_categories_list','wpb_list_categories');
Den här koden använder helt enkelt våra egna parametrar för att lista kategorier, och en av dessa parametrar är att ändra kategoriparametern hide_empty
.
Efter det kan du visa dina anpassade kategorier genom att lägga till shortcode-blocket i sidebaren eller i ett annat widgetområde och sedan lägga till shortcode [custom_categories_list]
i det.
När du är slutförd, glöm inte att updating dina widgets inställningar.
Sedan kan du besöka din website för att se kategorierna i action.
Dölj specifika kategorier i din Category List
På samma sätt kan du använda samma metod för att utesluta kategorier som du inte vill ska finnas med i listan över kategorier.
Ändra helt enkelt koden ovan så här:
function wpb_list_categories() {
// define category list parameneters
$args = array (
'echo' => false,
'title_li' => '',
'exclude' => '12,16,21',
'hide_empty' => 0
);
// get categories list
$display_cats = wp_list_categories($args);
//display custom categories list
return $display_cats;
}
// create shortcode
add_shortcode('custom_categories_list','wpb_list_categories');
I den här koden har vi dolt kategorierna genom att lägga till parametern exclude. Bredvid den måste du ange ID:n för de kategorier som du vill dölja.
Tips: Vi har skrivit en guide som visar dig hur du hittar ID:n för kategorier i WordPress.
Du kan nu gå vidare och visa dina custom kategorier genom att lägga till shortcode blocket till din widget area och sedan lägga till [custom_categories_list]
shortcode inuti den.
Exkludera Category Pages från Search Engines
If you are displayed empty categories on your website, then you may want to exclude them from search engines until you have some content there.
Vissa användare kanske också vill utesluta vissa kategorier från search engines för att undvika duplicerat content och andra sökmotorsoptimeringar.
För att göra det måste du installera och aktivera pluginet All in One SEO för WordPress. För mer detaljer, se vår Step-by-Step guide om hur du installerar ett plugin för WordPress.
All in One SEO för WordPress är det bästa SEO-pluginet för WordPress på marknaden och tillåter dig att enkelt kontrollera din sites appearance i sökresultaten.
När du har installerat pluginet kommer du att se en installationsguide. Den är ganska självförklarande, men om du behöver hjälp kan du följa vår guide om hur du ställer in All in One SEO.
Därefter måste du besöka sidan Posts ” Categories på din WordPress dashboard och klicka på länken ”Edit” under den kategori som du vill utesluta.
På sidan Edit Category måste du rulla ner till All in One SEO section.
Gå sedan till tabben ”Advanced”.
Härifrån måste du stänga av alternativet ”Standardinställningar” bredvid Robots-inställningen. Du kommer nu att se alternativ för att berätta för search engines att ej följa och indexera denna kategori.
När du är slutförd, glöm inte att clicka på knappen ”Update” för att save your settings.
All in One SEO kommer nu att börja berätta för search engines att inte indexera eller följa den vissa sidan.
Note: WordPress posts som arkiveras under den kategorin kan fortfarande indexeras av search engines och kommer att visas i sökresultaten.
Expertguider om kategorier i WordPress
Nu när du vet hur du visar eller döljer tomma kategorier kanske du gillar att se några andra WordPress tutorials relaterade till kategorier:
- Ordlista: Kategori
- Ordlista: Taxonomi
- Så här addar du kategorier och underkategorier i WordPress
- Categories vs Tags – Bästa praxis för sökmotorsoptimering för att sortera efter ditt content
- Så här addar du kategorier och tags för pages i WordPress
- Så här addar du kategorier till en custom post type i WordPress
- Så här ändrar, flyttar och borttar du WordPress-kategorier på rätt sätt
- Så här stylar du enskilda kategorier på olika sätt i WordPress
- Så här tvingar du fram en kategori per post i WordPress
- Så här byter du namn på kategorin Okategoriserade i WordPress
Vi hoppas att den här artikeln hjälpte dig att lära dig hur du döljer eller visar tomma kategorier i WordPress. Du kanske också vill se vår guide om hur du visar anpassat content till olika användare i WordPress och våra expertval för de bästa WordPress-tilläggen för företagswebbplatser.
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.
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!
MIke Dutton
I wonder if it possible to adapt this for Taxonomy terms. So only display something if a particular Taxonomy term has posts.
randy
OMG so helpful for running and if statement to see if there are posts in a category, regular post type or custom post type. Many thanks!
John Hartley
Easiest example I found anywhere…saved me some heartache, so thanks!
michelle
really useful, thanks. I have placed a link back to this on my own blog so that I can share it with others
Editorial Staff
Thanks Michelle
Administratör
Luke Jones
Excuse me if I’m wrong but doesn’t it do this already in the most recent versions?
Editorial Staff
Read the first two lines of the post. We already mention that using the wp-list-cats, yes it does, but if you are doing some more customization and need it hard coded without calling a function, then this is the way you will go.
Administratör
Enk.
It seems interesting but I seriously didn’t understand it. When we can name/rename a category from news to Blog. Whats the thing else than showing only if it has posts? *confused :s
Editorial Staff
This is only for very customized settings, but it is still good to know for those who does not. Yes you can rename a category, but how many times. If you have 7 custom page templates where you want to call one category 7 different names, then how would you go about it. For Sales / Splash pages, this will help.
Administratör
Enk.
ah thanks, now I can say its pretty useful. Thanks a ton !