选择类别时突出显示wp_NAV_MENU

时间:2013-06-06 作者:Slyvain

使用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

这是我的第一个模板,我很确定我忘记或错过了一些东西,但我想不出来,非常感谢你的帮助!

1 个回复
最合适的回答,由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
 }
}
?>

结束

相关推荐

禁用IE 8及更早版本的css。

我正在试图找到一种方法来禁用IE8或更少版本中的任何东西的212样式表。是否有一个条件代码可以放在我的函数php文件中,使默认的Twentylex样式表(及其子主题子表)在这些特定浏览器中被忽略?我想从一块空白的石板上开始我的IE only样式表,并且只应用非常非常简单的样式。提前感谢