无法在WordPress网站的PHP中设置列表项类

我正在寻找设置列表项的currentmenu类的最佳方法, 以便向用户显示使用php选择的当前活动菜单。
我已将html / css站点移至WordPress, 但最初将我的所有代码都存储在index.html文件中, 该文件由sidemenu div和jQuery处理组成, 可在活动菜单选择之间进行切换。
我最初在index.html中具有的代码是:
使用Superfish的侧边栏菜单的HTML代码:

< div id="sidebar">         < ul id="themenu" class="sf-menu sf-vertical">             < li> < a href="http://www.srcmini.com/index.php" class="topm currentMenu nosub"> Home< /a> < /li>             < li> < a href="http://www.srcmini.com/about-us.php" class="topm nosub"> About Us< /a> < /li>         < /ul> < /div>

用于切换当前活动菜单的jQuery代码:
$("ul.sf-menu li a").click(function() { $("ul.sf-menu li a").not(this).removeClass("currentMenu"); $(this).toggleClass("currentMenu"); });

因为所有这些都在一个index.html文件中, 所以一切正常。
现在, 使用WordPress, 将我的侧边栏菜单div移到其自己的sidebar.php文件中, 除此之外, 已经为about-us.php创建了单独的自定义wp页面, 并在sidebar.php文件中进行了调用, 问题发生之后, 这就是我想确定解决问题的最佳方法的地方。
问题是, 当用户第一次进入该站点时, 将触发index.php文件, 并且基于以上内容, “ 主页” 菜单当前是基于默认类值的活动菜单。但是, 当用户按下” 关于我们” 菜单选项, 然后调用我创建的about-us.php页面时, 该页面也调用sidebar.php文件, 当前活动菜单仍然是” 主页” 菜单选项, 即不正确。
我现在可以将” 关于我们” 菜单选项设置为活动菜单, 即是否为” 关于我们” 设置了” 当前菜单” 类, 因为我不确定如何在php中实现此功能, 因为我的jQuery切换代码不再起作用?
我提议使用其自己的wordpress页面模板(称为sidebar.php文件)来具有其他菜单选项, 因此需要将这些菜单选项设置为class =” currentMenu” 。
#1听起来好像你在寻找wordpress条件标签。例如:
< div id="sidebar"> < ul id="themenu" class="sf-menu sf-vertical"> < li> < a href="http://www.srcmini.com/index.php" class="topm < ?php if (is_home()) { echo "currentMenu"; } ?> nosub"> Home< /a> < /li> < li> < a href="http://www.srcmini.com/about-us.php" class="topm < ?php if (is_page('about-us')) { echo "currentMenu"; } ?> nosub"> About Us< /a> < /li> < /ul> < /div>

导航的第一行检查当前页面是否为主页, 如果是, 它将打印菜单所需的标签。第二行检查页面是否为” about-us” 页面, 其中” about-us” 为post_name(子句)。你也可以使用帖子ID。有关可用相关标签的更多示例/参考, 请查看下面的我的链接。希望这可以帮助。
参考:http://codex.wordpress.org/Conditional_Tags
参考:http://codex.wordpress.org/Dynamic_Menu_Highlighting
要在标准PHP中做到这一点, 避免使用wordpress作为平台, 你可以执行以下操作, 或者直接为特定页面分配变量:
< ?php $path = $_SERVER['PHP_SELF']; // get the path to the file $page = basename($path); // grab the filename $page = basename($path, '.php'); // remove the .php extension ?> < div id="sidebar"> < ul id="themenu" class="sf-menu sf-vertical"> < li> < a href="http://www.srcmini.com/index.php" class="topm < ?php if ($page == "index") { echo "currentMenu"; } ?> nosub"> Home< /a> < /li> < li> < a href="http://www.srcmini.com/about-us.php" class="topm < ?php if ($page == "about-us") { echo "currentMenu"; } ?> nosub"> About Us< /a> < /li> < /ul> < /div>

#2【无法在WordPress网站的PHP中设置列表项类】为了在侧边栏菜单(或任何菜单)中向当前页面添加特定的类, 你需要阅读WordPress文档中突出显示的动态菜单。你也可以尝试使用dTabs这样的插件, 使自己的工作更轻松。

    推荐阅读