Doriți să personalizați CSS-ul pentru pagini specifice? Adăugarea slug-ului paginii părinte la body_class este o modalitate excelentă de a viza o pagină specifică cu CSS. Astfel, puteți identifica cu ușurință clasa elementului pe care doriți să îl modificați.
Instrucțiuni:
Tot ce trebuie să faci este să adaugi acest cod în fișierul functions.php al temei tale sau într-un plugin specific site-ului:
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;
}
Notă: Dacă este prima dată când adăugați secvențe de cod în WordPress, consultați ghidul nostru despre cum să copiați / lipiți corect secvențe de cod în WordPress, pentru a nu vă defecta accidental site-ul.
Dacă ți-a plăcut acest fragment de cod, te rugăm să iei în considerare să consulți și alte articole de pe site, cum ar fi: cele mai bune 62 de teme gratuite pentru bloguri WordPress sau cele mai bune 7 pluginuri pentru formulare de contact WordPress.
Funcționează perfect în WordPress 3.9.1, mulțumesc!
Poate fi adaptat pentru a adăuga strămoșul de top la clasa body? Deci, dacă navighez la o pagină nepoată, văd nu slug-ul părintelui, ci slug-ul bunicului?
Când folosesc asta, tot primesc toate clasele implicite BS adăugate de WP. Există o modalitate de a le filtra?
Salut Jess, voi posta un fragment luni care va oferi o soluție pentru asta.
Mulțumesc, exact asta căutam. O întrebare – s-ar putea adapta asta pentru a afișa nu doar slug-ul paginii părinte în clasele body, ci și slug-ul paginii curente? Acest lucru ar fi util pentru a ținti secțiuni în CSS, plus pagini specifice.
Scriu ceva ca să pot posta în câteva zile.
Mulțumesc, abia aștept 🙂