Möchten Sie das CSS für bestimmte Seiten anpassen? Das Hinzufügen des übergeordneten Seitenschnecken zur body_class ist eine großartige Möglichkeit, eine bestimmte Seite mit CSS anzusprechen. Auf diese Weise können Sie die Klasse des Elements, das Sie ändern möchten, leicht identifizieren.
Anweisungen:
Sie müssen lediglich diesen Code zu Ihrer functions.php-Datei oder in ein websitespezifisches Plugin hinzufügen:
add_filter('body_class','body_class_section');
function body_class_section($classes) {
global $wpdb, $post;
if (is_page()) {
if ($post->post_parent) {
$parent = end(get_post_ancestors($current_page_id));
} else {
$parent = $post->ID;
}
$post_data = get_post($parent, ARRAY_A);
$classes[] = 'parent-' . $post_data['post_name'];
}
return $classes;
}
Hinweis: Wenn Sie zum ersten Mal Code-Schnipsel in WordPress hinzuf ilde{A}gen, lesen Sie bitte unseren Leitfaden, wie Sie Code-Schnipsel richtig in WordPress kopieren / einf ilde{A}gen, damit Sie Ihre Website nicht versehentlich besch ilde{A}digen.
Wenn Ihnen dieses Code-Snippet gefallen hat, ziehen Sie bitte in Betracht, unsere anderen Artikel auf der Website zu lesen, wie z. B.: 62 beste kostenlose WordPress-Blog-Themes oder 7 beste WordPress-Kontaktformular-Plugins.
Funktioniert wunderbar in WordPress 3.9.1, danke!
Kann dies angepasst werden, um den obersten Vorfahren zur body class hinzuzufügen? Wenn ich also zu einer Enkelkindseite navigiere, sehe ich nicht die Slug des Elternteils, sondern die Slug des Großelternteils?
Wenn ich das benutze, werden immer noch alle BS-Standardklassen hinzugefügt, die von WP hinzugefügt werden. Gibt es eine Möglichkeit, diese herauszufiltern?
Hallo Jess, ich werde am Montag einen Schnipsel posten, der eine Lösung dafür bietet.
Danke, genau das, was ich gesucht habe. Eine Frage – könnte dies so angepasst werden, dass es nicht nur den Slug der übergeordneten Seite in den Body-Klassen ausgibt, sondern auch den Slug der aktuellen Seite? Dies wäre nützlich, um Abschnitte in CSS sowie bestimmte Seiten anzusprechen.
Ich schreibe etwas, damit ich es in ein paar Tagen posten kann.
Danke, ich freue mich darauf 🙂