Wp_NAV_MENU的“ITEMS_WRAP”参数有什么文档吗?

时间:2011-06-05 作者:RodeoRamsey

我正在使用wp_nav_menu 我正在尝试为子级别下拉列表创建自定义输出。我遇到了“items\\u wrap”的论点,但关于它是什么、它是如何工作的以及可以用它做什么的信息实在不多。

到底什么是%1$s“和”%2$s“?(有人能用外行的话解释一下吗?)

2 个回复
最合适的回答,由SO网友:fuxia 整理而成

参数\'items_wrap\' 对于wp_nav_menu() 默认值为:

\'<ul id="%1$s" class="%2$s">%3$s</ul>\' 
这是一个用sprintf():

$nav_menu .= sprintf( 
    $args->items_wrap
,   esc_attr( $wrap_id )    // %1$s
,   esc_attr( $wrap_class ) // %2$s
,   $items                  // %3$s
);
编号占位符–%1$s, %2$s, %3$s – 请参阅中第一个参数后的参数sprintf(). 百分号标记占位符、数字、位置和类型s 表示应将其视为字符串
除非您真的知道自己在做什么,否则不要更改类型。:)

  • $wrap_id 是参数\'menu_id\' 如果你已经设置好了,否则就设置好了\'menu-\' . $menu->slug.
  • $wrap_class 是参数\'menu_class\' 如果已设置,则为空
  • $items 是菜单内部内容的字符串class. 省略第二个字符串:

    wp_nav_menu( array( \'items_wrap\' => \'<ul id="%1$s">%3$s</ul>\' ) );
    
    如果你不需要class 以及id, 你想要另一个容器(因为你使用了custom walker):

    wp_nav_menu( array( \'items_wrap\' => \'<div>%3$s</div>\' ) );
    
    要点是:您必须使用中给出的替换数字wp_nav_menu(). %3$s 始终是项目列表。

SO网友:xLRDxREVENGEx

根据我收集的信息,它获取一个输出,并给li一个id和带有菜单名称的类。因此,当您想设置特定菜单的样式时,如果您想设置它的样式,可以获取它的id和/或类。1和2只是不同的输出。

结束

相关推荐

Menu API not switching menus?

我正在使用菜单API,我想切换到其他菜单,但出于某种原因,它保留了第一个菜单这是我的密码在函数中。php add_action( \'init\', \'register_my_menus\',10 ); function register_my_menus() { register_nav_menu(\'main-navigation\', \'Main Navigation\'); } 下面是我的主题文件(header.ph