在我的全新主题中尝试自定义菜单时,我已经嵌入了一个包含一些参数的数组,如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打印。 我想我得去自定义步行者。是这种情况吗?
答案 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>'),
话虽如此,我并不确定默认类/值为您创造的干扰是什么。