aggiungi classe personalizzata a wp_nav_menu usando il hook di filtro nav_menu_css_class


8

Ho un tipo di post personalizzato nel mio tema wordpress. Voglio aggiungere una classe personalizzata al menu di navigazione per le pagine create in quel tipo di post personalizzato. Ho letto che puoi usare un hook di filtro: "nav_menu_css_class", ma le mie costolette php sono piuttosto limitate. Come faccio a impostare quel hook di filtro in modo che si applichi solo alle mie pagine di tipo di post personalizzate nel menu di navigazione e offro loro una classe personalizzata?

Risposte:


8

ecco un semplice esempio:

add_filter('nav_menu_css_class', 'auto_custom_type_class', 10, 2 );
function auto_custom_type_class($classes, $item) {

    if ($item->type_label == "CUSTOM_TYPE_NAME"){
        $classes[] = "New_Class";
    }

    return $classes;
}

basta cambiare CUSTOM_TYPE_NAMEil nome del tuo tipo di post personalizzato e New_Classcon il nome della tua classe e incollare questo frammento nel file Functions.php del tuo tema.


Che funzioni. Apprezzalo!
Colin,

Sono contento di poterti aiutare.
Bainternet,

Un'altra domanda: da $item->type_labeldove proviene e ci sono altre cose che puoi applicare a questa variabile "$ item"?
Colin,

1
l'oggetto $ item viene passato dalla chiamata apply_filters e contiene tutte le variabili item. puoi ottenere un elenco di aggiungendo un punto nella funzionevar_dump($item);
Bainternet,

Wow dolce! (L'ho appena eseguito) Buono a sapersi. Grazie ancora.
Colin,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.