Suporte » Ajustando o WordPress » Como destacar menu atual?

  • Resolvido feluz

    (@feluz)


    Bom queria saber como poderia destacar a <li> quando eu estiver na página referente a ela.
    Por exemplo: estou na página regras, se eu estiver nela a </li> vai ter uma certa cor.
    meu menu

    • Este tópico foi modificado 7 anos, 1 mês atrás por Allyson Souza. Motivo: Ajuste de marcação HTML
    • Este tópico foi modificado 7 anos, 1 mês atrás por Allyson Souza. Motivo: Ajuste de marcação HTML
    • Este tópico foi modificado 7 anos, 1 mês atrás por Allyson Souza. Motivo: Ajuste de marcação HTML
Visualizando 13 respostas - 1 até 13 (de um total de 13)
  • Olá @feluz

    Em primeiro lugar, edite o código que você postou pois ele está quebrando o layout da página.

    Sobre destacar o item do menu, isso depende do tema que está usando. É comum os temas adicionarem uma classe CSS active ao item que está aberto. Neste caso, basta você criar uma regra usando essa classe para destacar aquele item.

    Criador do tópico feluz

    (@feluz)

    Oi Marcelo. Eu tentei achar um botão pra editar porém não achei. a página dessa postagem aqui tá bugada pra mim.
    Eu mesmo fiz o tema do zero, queria saber se existe alguma função especial pra isso.

    Nura

    (@archer-master)

    Deve ser isso que está procurando.

    <?php
    add_filter('nav_menu_css_class' , 'special_nav_class' , 10 , 2);
    function special_nav_class ($classes, $item) {
        if (in_array('current-menu-item', $classes) ){
            $classes[] = 'active ';
        }
        return $classes;
    }
    ?>
    • Esta resposta foi modificada 7 anos, 1 mês atrás por Nura.
    Moderador Mário Valney

    (@mariovalney)

    WordPress Cleric of Fire

    Olá @feluz
    Se você está utilizando a função wp_nav_menu pode visitar a documentação para saber todas as classes que a função já insere para que possa criar o front-end.

    A solução do @archer-master está correta se quisermos forçar que a classe active seja adicionada ao lado de current-menu-item. Porém, é bom ter em mente que é muito melhor adicionar o estilo ao CSS do que usar um filtro desnecessariamente, por questões de performance.

    • Esta resposta foi modificada 7 anos, 1 mês atrás por Mário Valney.
    Criador do tópico feluz

    (@feluz)

    @mariovalney É exatamente isso que quero, eu uso sim o wp_nav_menu(), tenho que passar algum argumento nele? Pois coloquei no meu arquivo css .current_page_item { background: #c59840; } mas não gerou em nada. Oque estou fazendo de errado?

    Moderador Mário Valney

    (@mariovalney)

    WordPress Cleric of Fire

    @feluz a classe correta é a que o @archer-master postou abaixo.

    Qualquer dúvida sobre os parâmetros, dá uma lida na documentação.

    • Esta resposta foi modificada 7 anos, 1 mês atrás por Mário Valney.
    • Esta resposta foi modificada 7 anos, 1 mês atrás por Mário Valney.
    Nura

    (@archer-master)

    Tenta assim:

    .current-menu-item {
    background: #c59840; 
    }
    Criador do tópico feluz

    (@feluz)

    @archer-master, @mariovalney. Muito obrigado por responderem e pela ajuda. Infelizmente não obtive sucesso, dei uma boa lida na documentação, porém não entendo tão bem de wordpress. Mas agradeço pela ajuda 😀

    Moderador Mário Valney

    (@mariovalney)

    WordPress Cleric of Fire

    @feluz não é WordPress é CSS.

    A função já vai imprimir o HTML com a classe que indicamos, você só tem que fazer o que deseja com o CSS.

    Mas caso não tenha conhecimentos nem nisso, recomendo contratar um desenvolvedor.

    Criador do tópico feluz

    (@feluz)

    @mariovalney, sim sim, entendo. Pelo que to vendo to deixando algo escapar, vou revisar meu código todo aqui pra ver oque é. Valeu :p

    Moderador Mário Valney

    (@mariovalney)

    WordPress Cleric of Fire

    @feluz você tem algum link com esse site?

    • Esta resposta foi modificada 7 anos, 1 mês atrás por Mário Valney.
    Criador do tópico feluz

    (@feluz)

    @mariovalney, entrei no modo desenvolvedor do navegador e a classe estava como current_page_item, alterei no css e funcionou. Sabe me dizer porque tinha esse nome? fiquei confuso

    Moderador Mário Valney

    (@mariovalney)

    WordPress Cleric of Fire

    @feluz Talvez algum plugin ou algo esteja alterando o nome da classe.

Visualizando 13 respostas - 1 até 13 (de um total de 13)
  • O tópico ‘Como destacar menu atual?’ está fechado para novas respostas.