Adaugă clasa active la wp_nav_menu

25 iul. 2018, 17:05:27
Vizualizări: 19.8K
Voturi: 0

Folosesc acest cod dar nu funcționează

function special_nav_class($classes, $item){
    if( in_array('current-menu-item', $classes) ){
        $classes[] = 'active';
    }
    return $classes;
}
add_filter('nav_menu_css_class' , 'special_nav_class' , 10 , 2);

Inspecție Element:

<li id="menu-item-106" class="d-inline-block menu-item menu-item-type- 
post_type menu-item-object-page current-menu-item page_item page-item-32 
 current_page_item menu-item-106 active"><a href="#">Ceva</a></li>

Adaugă clasa active dar tot nu schimbă designul, rămâne la fel.

1
Comentarii

Codul funcționează corect și îl poți vedea în Inspector. Mai întâi, șterge toate cache-urile și reîmprospătează pagina. Apoi, verifică CSS-ul tău.

Max Yudin Max Yudin
25 iul. 2018 17:44:34
Toate răspunsurile la întrebare 1
2

Nu vei avea nevoie de acel cod PHP pentru a stiliza linkurile către pagina curentă în navigație. WordPress adaugă implicit o clasă (current-menu-item) pe linkurile către pagina curentă. Totuși, WordPress nu stilează linkul pentru tine. Aceasta ar face parte din tema. Poți adăuga o regulă în CSS-ul temei (de obicei /wp-content/themes/numele_temei/style.css) pentru a stiliza linkul diferit. De exemplu:

li.current-menu-item a {
    color: pink;
    // sau orice altceva
}
25 iul. 2018 19:17:31
Comentarii

Mulțumesc pentru răspuns. Tocmai am verificat style.css și am văzut că current-menu-item nu apare nicăieri.

TestimiUEB TestimiUEB
26 iul. 2018 10:19:25

@TestimiUEB Poate vei dori să recitești răspunsul meu: "WordPress nu stilizează linkul pentru tine"... "Poți adăuga o regulă"

Andrew Magill Andrew Magill
26 feb. 2019 20:20:27