Wordpress 3.8.1 wp_nav_menu助行器不起作用?

时间:2014-01-31 08:34:40

标签: wordpress

在我的全新主题中尝试自定义菜单时,我已经嵌入了一个包含一些参数的数组,如URL http://codex.wordpress.org/Function_Reference/wp_nav_menu中提供的支持页面所示

但是,这些值似乎被覆盖或无法正常工作。

这是我实施的代码

<?php 
    $defaults = array('container' => 'div', 'container_id' => 'menu', 'container_class' => '', 'items_wrap' => '<ul id="%1$s" class="%2$s">%3$s</ul>', 'fallback_cb' => 'wp_page_menu');
    wp_nav_menu( $defaults ); 
?>

而这是输出

<div id="menu" class="menu-main-container"><ul id="menu-main" class="menu">test</ul></div>

虽然容器类是一个空字符串,但呈现的代码包含了不期望的内容。

至于items_wrap,参考指南“如果从格式字符串中省略编号的标记,则从菜单标记中省略相关参数。”,我想知道我能做些什么来避免令牌1和2打印。 我想我得去自定义步行者。是这种情况吗?

1 个答案:

答案 0 :(得分:1)

至于你的第一个问题(菜单类)。

你并没有真正使用空字符串。通过将字符串留空,您实际上使用的是默认值:

来自codex:

  

$ container_class       (字符串)(可选)应用于容器的类

    Default: menu-{menu slug}-container

这就是代码中的内容......

class="menu-main-container">

至于第二个问题,省略那些令牌只是放入另一个没有这些令牌或具有特定参数的值...

'items_wrap'      => '<ul id="my_whatever_id" class="my_whatever_class">%3$s</ul>',

'items_wrap' => '%3$s'

甚至是回调

 apply_filters("my_filter_menu_items_wrap",'<ul class="nav">%3$s</ul>'),

话虽如此,我并不确定默认类/值为您创造的干扰是什么。