Hallo. Ich arbeite zwar schon einige Monate mit Wordpress, steige aber jetzt erst richtig ein. Und nun habe ich ein Problem, vielleicht kann mir jemand helfen.
Ich habe für eine Website über 40 Kategorien bzw. Unterkategorien eingerichtet und sie werden auch alle im Menü angezeigt. Allerdings sind noch nicht überall auch Inhalte hinterlegt.
Gibt es die Möglichkeit, dass "leere" Kategorien in der Navigation ausgeblendet werden? Oder dass man eine Fehlerseite angezeigt bekommt, wenn man eine leere Kategorie aufruft?
Hoffentlich weiß jemand bescheid.
Kategorien ausblenden
-
-
- Gerade eben
- Anzeige
Hallo!
Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.
- ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
- ✔️ Deutsche Server & DSGVO-konform
- ✔️ Persönlicher Support (kein 0815-Ticket-System)
-
Lege manuell dein eigenes Menü an. Dort kannst du die leeren Kategorien einfach weglassen.
-
Hallo,
vielen Dank für die Antwort. Aber das wäre blöd, weil es sich um Annoncen handelt, die sich täglich ändern. Ich müsste dann im Prinzip jeden Tag das Menü ändern :-( -
Das könnte man über den Filter wp_get_nav_menu_items realisieren. Dazu müsste man aber erst einmal wissen ob es sich bei den Annoncen um Custom Post Types mit Custom Taxonomies handelt oder um Standard Posts und im Falle von CPTs ob ein Plugin verwendet wurde um die Annoncen zu erstellen oder diese per Hand angelegt wurden.
-
Habe mir das einmal schnell angesehen und eine Universalfunktion geschrieben, die sämtliche Kategorien (taxonomy terms) in Navigationsmenüs ausblendet, wenn es keine Beiträge (post types) in der Kategorie gibt. Es ist dabei egal ob es sich um Standard Kategorien für Posts, Produktkategorien in WooCommerce oder sonstige "Kategorien" handelt. Die Funktion gehört in die functions.php eines Childthemes:
PHP
Alles anzeigenadd_filter( 'wp_get_nav_menu_items', 'mmx_nav_remove_empty_terms', 10, 3 ); function mmx_nav_remove_empty_terms ( $items, $menu, $args ) { foreach ( $items as $key => $item ) { if ( ( 'taxonomy' == $item->type ) ) { $term = get_term( $item->object_id, $item->object ); if( empty( $term->count ) ) { unset( $items[$key] ); } } } return $items; } -
Hallo,
Du bist ein Held, danke!
Aber: Leider funktioniert das nicht so richtig. Bei der ersten Kategorie (Praktikum) werden alle leeren Unterkategorie ausgeblendet - das ist super. Die zweite (Psychologen) und dritte (Psychotherapeuten) wird gar nicht angezeigt, dafür aber die Unterkategorien. Ich habe mal einen Screenshot gemacht. -
Dann gibt es eben keine Beiträge direkt in Psychologen und Psychoterapeuten. Meine Funktion nimmt keine Rücksicht darauf ob in einer Unterkategorie Beiträge existieren um eine leere Parentkategorie anzuzeigen. Wenn das so sein soll, musst Du die Funktion entsprechend anpassen. Die Fragestellung war "Gibt es die Möglichkeit, dass "leere" Kategorien in der Navigation ausgeblendet werden?". Genau das macht die Funktion.
-
Verstehe. Ich danke Dir.
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!