使用wp\\u nav\\u menu()函数来显示我的菜单,我注意到菜单中的突出显示对于我创建的页面(如archives.php)效果很好,但当选择了日期(date.php)、类别(category.php)或标记(tag.php)时,就不再有效了。
选择类别时,如何突出显示“浏览”菜单项?
下面是我如何在标题中包含菜单。php:
<div id="main-menu">
<?php wp_nav_menu(array(\'menu\' => \'primary\', \'menu_class\' => \'\', \'container\' => false, \'theme_location\' => \'header\')); ?>
</div>
选择存档页面(菜单中称为“浏览”)时的Firebug摘录,这里是id“menu-item-299”:
<div id="main-menu">
<ul id="menu-primary" class="">
<li id="menu-item-304" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-304">
<li id="menu-item-299" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-280 current_page_item menu-item-299">
<li id="menu-item-307" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-307">
<li id="menu-item-300" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-300">
<li id="menu-item-301" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-301">
</ul>
</div>
最后,当我选择日期或类别时:
<div id="main-menu">
<ul id="menu-primary" class="">
<li id="menu-item-304" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-304">
<li id="menu-item-299" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-299">
<li id="menu-item-307" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-307">
<li id="menu-item-300" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-300">
<li id="menu-item-301" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-301">
</ul>
</div>
可在此处访问实时版本:
http://www.slyvain.fr/v2/?page_id=280这是我的第一个模板,我很确定我忘记或错过了一些东西,但我想不出来,非常感谢你的帮助!
最合适的回答,由SO网友:Ravinder Kumar 整理而成
使用jQuery解决问题的一种方法(将此代码放入functions.php
)
<?php
add_action(\'wp_footer\',\'ravs_browse_menu\');
function ravs_browse_menu(){
if(isset($_GET[\'cat\']) && $_GET[\'cat\'] !=\'\'){
?>
<script>
jQuery(document).ready(function(){
jQuery(\'#menu-item-299\').addClass(\'current-menu-item\');
});
</script>
<?php
}
}
?>