如何在Wordpress上修改与php的子页面链接

时间:2014-08-14 17:23:26

标签: php html wordpress

您好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

1 个答案:

答案 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'));

}