我正在寻找设置列表项的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这样的插件, 使自己的工作更轻松。
推荐阅读
- 加载特定的WordPress页面模板时,无法向body标签注入特定的类名
- 无法在WordPress模板中获取get_the_tags()
- WP无法添加默认标题图像
- 尝试编辑Hemingway wordpress主题以添加”评论回复”链接
- 在自定义主题中实现jquery-ias时遇到问题
- 大数据开发Linux系统入门之netstat 命令学习
- 做软件测试需要一直培养成长的技能
- 小知识系列:查询数据库数据的元信息
- prometheus target获取