Como destacar menu atual?
-
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.
- Este tópico foi modificado 7 anos, 5 meses atrás por Allyson Souza. Motivo: Ajuste de marcação HTML
- Este tópico foi modificado 7 anos, 5 meses atrás por Allyson Souza. Motivo: Ajuste de marcação HTML
- Este tópico foi modificado 7 anos, 5 meses atrás por Allyson Souza. Motivo: Ajuste de marcação HTML
-
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.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.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, 5 meses atrás por Nura.
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, 5 meses atrás por Mário Valney.
@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?@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, 5 meses atrás por Mário Valney.
- Esta resposta foi modificada 7 anos, 5 meses atrás por Mário Valney.
Tenta assim:
.current-menu-item { background: #c59840; }
@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 😀
@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.
@mariovalney, sim sim, entendo. Pelo que to vendo to deixando algo escapar, vou revisar meu código todo aqui pra ver oque é. Valeu :p
@feluz você tem algum link com esse site?
- Esta resposta foi modificada 7 anos, 5 meses atrás por Mário Valney.
@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@feluz Talvez algum plugin ou algo esteja alterando o nome da classe.
- O tópico ‘Como destacar menu atual?’ está fechado para novas respostas.