CSS current-page não funciona em um menu
-
Pessoal, boa noite!
Estou com um problema que já me tirou do sério: criei um css “bunitu” para estilizar um menu, mas acontece que uma página não fica com o efeito “highlight” (current-page) e todas as demais ficam! Já verifiquei pelo Firebug e esta página não está “pegando” a classe necessária, mas as demais sim. Help-me please!!!
Vejam: http://www.mundodoprazer.com.br/avanti
PS 1: podem acessar pois o conteúdo do site não é pornográfico.
PS 2: Para montar o menu utilizei a função register_nav_menu…Obrigado!
-
Pessoal,
OBS: é o MENU INFERIOR a opção BLOG não fica com o estado CURRENT – mas a opção BLOG do MENU SUPERIOR fica!
Obrigado!
Vc tem alguma função manipulando os menus personalizados?
Tentei reproduzir o erro aqui, mas não consegui.
Como está o código de criação dos menus?
Este é todo o código no arquivo Functions.php
<?php if(function_exists('register_nav_menu')){ register_nav_menu('menu','menu'); } // Add support for Featured Images if (function_exists('add_theme_support')) { add_theme_support('post-thumbnails'); add_image_size('index-categories', 80, 80, true); add_image_size('page-single', 80, 80, true); } function InsertFeaturedImage($content) { global $post; $original_content = $content; if ( current_theme_supports( 'post-thumbnails' ) ) { if ((is_page()) || (is_single())) { $content = the_post_thumbnail('page-single'); $content .= $original_content; } else { $content = the_post_thumbnail('index-categories'); $content .= $original_content; } } return $content; } add_filter( 'the_content', 'InsertFeaturedImage' ); ?>
E chamo o menu no HEADER e no FOOTER dessa maneira:
<ul> <li><?php wp_nav_menu('menu'); ?></li> </ul>
Clique na opção BLOG no menu SUPERIOR (HEADER) e veja que o menu INFERIOR (footer) não fica com o BLOG no estado CURRENT. Só esta opção (BLOG no menu INFERIOR) está assim; os outros funcionam perfeitamente e em ambos os menus (superior e inferior).
Obrigado, pessoal.
Pessoal,
Descobri o que vem causando este “bug” mas continuo sem solução. A página BLOG é um template (template name: blog), e utilizo a linha abaixo para criar uma página de blog com paginação:
<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; query_posts("cat=-1,-4,-5,-6,-9&paged=$paged"); ?>
A linha cima é que está causando este bug sinistro no css do menu inferior.
Alguém pode ajudar a resolver isso? Preciso criar paginação para listar os posts do blog…
Obrigado!
Não sabia que o loop poderia influenciar nisso, mas se for mesmo tente isso no final do loop
wp_reset_query();
Myst1010
Muito obrigado, era isso mesmo!Cara, também nunca pensei que não fechar uma query poderia influenciar.
Abraços!
Bom saber disso, nem desconfiava que funcionava assim.
Eu que agradeço pelo conhecimento, vivendo e aprendendo.gente, estou com o mesmo problema, mas é mais grave:
query_posts(array('post_type' => 'post')); // por exemplo get_template_part( 'loop', 'index' );
O item no menu dessa página fica apagado, e já sei porque: porque para adicionar a classe CSS de página atual, uma função verifica uma variavel que tem o id da página com uma outra variável.
A primeira já identifiquei que é $wp_query->queried_object_id
pois por exemplo, se estou na página com querystring page_id=10, e coloco o $wp_query->queried_object_id = ‘8’ (antes do código do nav-menu, e SEM o query_posts), o item no menu que acende é o da página 8, mesmo eu estando vendo a 10.$wp_query->queried_object_id = '8'; get_template_part( 'loop', 'index' );
Achei qque seria simple resolver colocando o $wp_query->queried_object_id com o id real da página assim:
query_posts(array('post_type' => 'post')); $wp_query->queried_object_id = '10'; //page_id real get_template_part( 'loop', 'index' );
Mas não resolveu! =(
Alguém consegue desvendar esse mistéeeeerio??
- O tópico ‘CSS current-page não funciona em um menu’ está fechado para novas respostas.