Aus meiner Sicht ärgerlich ist, dass bei WordPress, Unterkategorien auch in der übergeordneten Kategorie angezeigt werden. Durch diese Maßnahme ist es nicht möglich gezielt auf Kategorien verschiedener Level zuzugreifen. Bei meiner Suche nach einer passenden Lösung bin ich bei Frank Bültge fündig geworden.
Den folgenden Codeschnipsel in die function.php integrieren und schon funzt die Sache.
function fb_filter_child_cats($query) { $cat = get_term_by( 'name', $query->query_vars['category_name'], 'category' ); if ( ! isset( $cat->term_id ) ) return $query; $child_cats = (array) get_term_children( $cat->term_id, 'category' ); if ( ! $query->is_admin ) $query->set( 'category__not_in', array_merge( $child_cats ) ); return $query; } add_filter( 'pre_get_posts', 'fb_filter_child_cats' );
Durch diese Maßnahme werden in der jeweiligen Kategorie, unabhängig vom Level, nur noch die Beiträge der jeweiligen Kategorie angezeigt.
Hallo Klaus,
ich bin in Sachen WordPress erst seit kurzem dabei. Ein wirklich toller Tipp.
Diesen habe ich mit dem Plugin „Code Snippets“ einbinden können und es klappte auf Anhieb.
Finde es allerdings auch sehr Schade, dass WP diese Option nicht anbietet.
Ich dachte, man könnte das Unter Beiträge > Auswahl einschränken vornehmen.
vielen dank!
Gruss Jochen
Hallo,
ich habe die Funktion heute auch erstmalig genutzt. Funktioniert grundsätzlich so wie beschrieben. Ich habe leider nur das Problem, dass in den Hauptkategorien weiterhin alle Beiträge aus allen darunter liegenden Kategorien/Unterkategorien angezeigt werden.
Gibt es hierfür vielleicht auch eine Lösung?
Viele Grüße
Sebastian
Sorry, dafür habe ich leider keine Lösung.
Wenn ich mal wieder viel Zeit habe werde ich mich damit beschäftigen.
LG
Klaus
Danke ! Diesen Tipp habe ich nun 5 Tage gesucht und er passt perfekt ! ! ! ! ! ! ! ! ! ! ! ! !! ! ! !
andere snippets haben nicht so toll funktioniert und mir immer das Navigationsmenü gelöscht !
DAAAAANNNKKKEEEEEE
Vielen Dank! Nach kurzer Suche nach einer Lösung zu dem Problem fand ich diese Website und hab den Code natürlich gleich ausprobiert. Habe den Code mit dem Plugin „Code Snippets“ eingefügt. Es hat sofort alles funktioniert und mein Problem ist behoben. Vielen Dank!