您好stackoverflow社区,
我认为我已经为所有页面设置了自定义菜单(没有问题)选项正在通过:
$links = wp_kses(wp_nav_menu($parameters), $allowed_tags);
(我只允许锚标签及其属性)
然后:
<nav class="menu-navigation">
<?php
echo $links;
?>
</nav>
到目前为止一切都很酷,但菜单上的某些选项是某些页面的部分,例如:
主屏幕#接触
显然在博客页面等其他网页上,如果没有联系部分,但我点击该选项,则应将用户重定向到主页#contact ,否则请不要重新加载页面到 #contact 部分。
所以我想用php
检测哪些选项是子选项并根据当前页面修改其href。我不知道php
已经足够了,所以请任何想法和明确的演练来完成这项工作吗?
提前致谢。
PD:如果可能的话,我想避免使用JS
更新
按照几个导航菜单的方法
这是我当前的标题导航代码:https://gist.github.com/duranmla/e70cc6073dfb2d79e19f,我按照建议进行导航。最后,我的仪表板https://www.evernote.com/shard/s243/sh/9896863b-c10b-4e32-bad9-5bbc4341cfd9/d373ab95d0c3c3f5d72f455c03dea7d4/deep/0/Fullscreen-8-15-14,-11-35-AM.png
答案 0 :(得分:1)
首先,用wp_nav_menu()
包裹wp_kses()
似乎没必要。
要回答你的问题,一个没有太多编码的简单方法就是创建两个菜单 - 一个用于在有联系部分的页面上显示,一个用于其他地方。
在您的主题包中,您需要确保注册了两个菜单位置。
register_nav_menus(
array(
'home_navigation' => __('Home Navigation'),
'primary_navigation' => __('Primary Navigation')
)
);
请参阅http://codex.wordpress.org/Function_Reference/register_nav_menus
然后在外观&gt;下的WordPress管理员中创建菜单项。菜单。在第一个菜单中,将链接设为“#contact
”,在第二个菜单中设置“/#contact
”。
然后在主题的header.php模板中,您需要指明要使用的导航菜单。如果您的主页是唯一需要备用菜单的页面,那么这就是它的样子:
if(is_front_page()){
wp_nav_menu(array('theme_location' => 'home_navigation'));
} else {
wp_nav_menu(array('theme_location' => 'primary_navigation'));
}