替换菜单固定链接/超链接仅使用wordpress中的菜单名称/ slug

时间:2015-11-01 01:37:39

标签: wordpress menu navigation permalinks

我不知道我是否正确地问这个,但我会尝试。 我这样做是为了历史状态。

代码以获取ulli的菜单:

$topmenu= array(
  'container'       => false,
  'echo'            => false,
  'items_wrap'      => '%3$s',
  'depth'           => 0
);

echo strip_tags(wp_nav_menu( $topmenu), '<a>');

目前,它只按预期为<a>标记href

例如:

<a href="http://example.com/page1">Page 1</a>
<a href="http://example.com/page2">Page 2</a>
<a href="http://example.com/page3">Page 3</a>
// etc

我的问题:

如何在href属性中禁用/隐藏完整永久链接/超链接,但是继续显示页面slug?

我需要的例子:

<a href="/page1"></a>
// etc

我尝试将此工作改为nav-menu-template.php,但我失败了。

感谢您的回答。

1 个答案:

答案 0 :(得分:1)

然后不需要使用wp_nav_menu构建导航。 如果你只想获得你在wordpress后端设置的导航链接,你需要导航的名称,id或slug。

您可以使用

获取nav_menu_items
$items = wp_get_nav_menu_items( 'name_of_your_navigation' );

现在你需要从每个项目的网址中删除home_url

foreach ( $items as $item ) {
    $url = str_replace( home_url(), '', $item->url );
    echo '<a href="' . $url . '">' . $url . '</a>';
}