Wp_list_ages中的非页面链接

时间:2013-06-23 作者:Simon Cooper

我想要一个这样的导航。

家庭-人员-关于-服务-联系

主页、关于、服务和联系人都是页面。

人们没有页面,我想用这个链接打开第二个导航。

是否可以在wp\\U list\\U页面中添加不链接到页面的链接。

是否也可以向此链接添加没有页面的id。

我希望代码看起来像这样。

    <ul>
      <li><a href="Wordpress link">Home</a></li>
      <li id="people"><a href="No Page">People</a></li>
      <li><a href="Wordpress link">About</a></li>
      <li><a href="Wordpress link">Services</a></li>
      <li><a href="Wordpress link">Contact</a></li>
    </ul>  

1 个回复
SO网友:s_ha_dum

我不知道你说的“打开第二个导航”是什么意思。这可能意味着几件事。但要获得“空”链接,您有两个选择:

选项#1--又名,简单但有点像黑客,用“自定义链接”表单添加菜单项。您必须提供URL,但可以在项目添加到菜单后删除URL。你最终会<a>People</a> 在菜单中。无法添加id 但您可以添加class 从菜单项的对话框中。

选项#2--筛选器wp_list_pages

function prepend_to_page_walker_wpse_103936($output) {
  $pattern = \'|<ul>|\';
  $output = preg_replace($pattern,\'<ul><li id="people"><a href="No Page">People</a></li>\',$output,1);
  return $output;
}
add_filter(\'wp_list_pages\', \'prepend_to_page_walker_wpse_103936\');
选项3——写一个助行器。如果你能使用它,选项1显然会更容易,但听起来你好像没有。虽然我想我会在中完成它。

选项#2应起作用。preg_replace 第四个极限参数应仅替换第一次出现的<ul>.

选项3将为您提供最大的灵活性,但看起来您需要replace a significant method to do it (or this one), 我看不出这种努力有什么意义。但我可能遗漏了什么。

结束

相关推荐