WordPress: CSS-Klasse .current_page_parent bei Custom Post Types aus dem Menü entfernen
Hier findet ihr ein Snippet für WordPress, mit dem ihr die .current_page_parent CSS-Klasse der Beitragsübersichtsseite im Menü entfernt, sobald ihr Custom Post Types verwendet.

In den Einstellungen von WordPress ist es möglich eine statische Seite als sog. »Beitragsseite« festzulegen. Diese Seite dient dann als Übersichtsseite für alle Beiträge (posts
). Ist diese Seite in einer WordPress-Navigation enthalten bekommt sie die Klasse .current_page_parent
sobald man sich in einem Beitrag, in einer Kategorie oder in einem Archiv befindet. Die Klasse erscheint ebenfalls, wenn man WordPress mit Custom Post Types erweitert und sich in einem solchen befindet. Solltet ihr WordPress als CMS einsetzen, ist die Klasse häufig unerwünscht. Wir zeigen euch das Snippet mit dem ihr sie entfernen könnt.
Schulungen von kulturbanause
Intensive Trainings mit hohem Praxisbezug.
Beitragsseite einrichten
Zur Einrichtung der Beitragsseite müsst ihr im Backend unter »Einstellungen > Lesen« in den Bereich »Startseite zeigt« wechseln und dort »Eine statische Seite (unten auswählen)« auswählen. Hier legt ihr fest, welche Seite eure Startseite und welche eure Beitragsseite werden soll. Der typische Anwendungsfall für eine Beitragsseite ist ein Blog oder ein Newsbereich.

Entfernen der .current_page_parent
-Klasse
Um die current_page_parent
-Klasse für Custom Post Types zu entfernen müsst ihr folgendes Snippet in eure functions.php
oder in ein seitenspezifisches Plugin einfügen. Es wird abgefragt, ob ihr euch in einem Beitrag des Types post
, in einer Kategorie, in einem Schlagwort oder in einem Archiv befindet. Sollte nichts davon zutreffen, entfernt das Snippet die »Eltern-Klasse« aus dem Navigationspunkt der Blog-Übersichtsseite.
function kb_remove_page_for_posts_class_outside_blog( $classes, $item, $args ) {
if ( !is_singular( 'post' ) && !is_category() && !is_tag() && !is_date()) {
$blog_page_id = intval( get_option( 'page_for_posts' ) );
if ( $blog_page_id != 0 ) {
if ( $item->object_id == $blog_page_id ) {
unset ( $classes[array_search( 'current_page_parent',$classes )] );
}
}
}
return $classes;
}
add_filter( 'nav_menu_css_class', 'kb_remove_page_for_posts_class_outside_blog', 10, 3 );
Feedback & Ergänzungen – Schreibe einen Kommentar
WordPress-Projekte mit kulturbanause
Wir wissen wovon wir reden. Wir setzen WordPress seit über 10 Jahren erfolgreich ein und realisieren maßgeschneiderte Websites auf Basis dieses großartigen CMS.
WordPress-Leistungsangebot →Schulungen von kulturbanause
Wir bieten Seminare und Workshops zu den Themen Konzept, Design und Development. Immer up-to-date, praxisnah, kurzweilig und mit dem notwendigen Blick über den Tellerrand.
Übersicht Schulungsthemen →