adicionar classe personalizada ao wp_nav_menu usando o gancho de filtro nav_menu_css_class


8

Eu tenho um tipo de post personalizado no meu tema wordpress. Desejo adicionar uma classe personalizada ao menu de navegação para as páginas criadas nesse tipo de postagem personalizada. Eu li que você pode usar um gancho de filtro: "nav_menu_css_class", mas meus php chops são bem limitados. Como configurar esse gancho de filtro para aplicar apenas às minhas páginas personalizadas de tipo de postagem no menu de navegação e dar a elas uma classe personalizada?

Respostas:


8

aqui está um exemplo simples:

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 mudar CUSTOM_TYPE_NAMEpara o nome do seu tipo de postagem personalizado e New_Classcom o nome da sua classe e colar esse trecho no arquivo functions.php do seu tema.


Isso funciona. Aprecie!
Colin

Ainda bem que pude ajudar.
Bainternet

Outra pergunta: de $item->type_labelonde isso vem e há outras coisas que você pode aplicar a essa variável "$ item"?
Colin

11
o objeto $ item é passado pela chamada apply_filters e mantém todas as variáveis ​​do item. você pode obter uma lista dos adicionando algum lugar na funçãovar_dump($item);
Bainternet

Uau adorável! (apenas funcionou) É bom saber. Obrigado novamente.
Colin
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.