使用PHP / WordPress从子菜单设置父菜单CSS类

时间:2010-08-21 16:27:24

标签: php css wordpress

我有以下菜单设置,基本上有一个“产品”的父菜单,其中有两个子菜单项,我在我的WordPress 3菜单结构中使用,特别是在我的sidebar.php文件中:

<ul id="themenu" class="sf-menu sf-vertical">
        <li><a class="sf-with-ul topm" href="#">Products</a>
            <li><a href="information">Information</a></li>
            <li><a href="parts">Parts</a></li>
        </li>
</ul>

我不确定如何使用PHP是当用户点击任一子菜单选项,即“信息或部件”时,我想在其父菜单类中添加一个currentMenu的css类,即:

<li><a class="sf-with-ul topm currentMenu" href="#">Products</a>

非常感谢您对此的帮助。

感谢。

2 个答案:

答案 0 :(得分:2)

Wordpress为您完成此操作。它为您的菜单添加了类(假设您正在使用wp_list_pages)。

这些类是current_page_parent和current_page_ancestor

编辑: 如果您静态打印导航,则可以执行此操作

<ul id="themenu" class="sf-menu sf-vertical">
        <li><a class="<?php if( in_array( $_SERVER['REQUEST_URI'], array( '/information','/parts' )  ) ?>currentMenu<?php endif; ?>" href="#">Products</a>
            <li><a href="information">Information</a></li>
            <li><a href="parts">Parts</a></li>
        </li>
</ul>

它检查url,如果url在列表中,它会将类设置为currentMenu。您必须编辑该父级的URL数组以满足您的需要。

答案 1 :(得分:0)

如何使用jQuery代替:

$('#themenu a').click(function(){
  $(this).closest('.topm').addClass('currentMenu');
  return false;
});
相关问题