wordpress函数详解:wp_nav_menu()

详细的介绍了wp_nav_menu函数,用于控制wordpress菜单的显示

这是一个控制Wordpress主题菜单显示的函数,这也是在Wordpress主题开发中比较重要的一个函数,详细的了解此函数有利于学习Wordpress的主题开发。

此文来源于:《官方函数文档:wp_nav_menu()

输入内容格式如下:

wp_nav_menu( array $args = array() )

显示导航菜单

这是现成的代码片段(不是真正的贡献,比其他任何快捷方式都重要):

wp_nav_menu( array $args = array(
    'menu'              => "", // (int|string|WP_Term) 所需菜单。接受菜单ID、slug、name或object。
    'menu_class'        => "", // (string) CSS类,用于构成菜单的ul元素。默认menu。
    'menu_id'           => "", // (string) 应用于构成菜单的ul元素的ID。默认为menu slug,递增。
    'container'         => "", // (string) 是否包装ul,以及用什么包装ul。默认div。
    'container_class'   => "", // (string) 应用于容器的类。默认“menu-{menu slug}-container”。
    'container_id'      => "", // (string) 应用于容器的id。
    'fallback_cb'       => "", // (callable|bool) 如果菜单不存在,将启动回调函数。默认为wp_page_menu。设置为false表示没有回退。
    'before'            => "", // (string) 链接标记前的文本。
    'after'             => "", // (string) Text after the link markup.
    'link_before'       => "", // (string) 链接文本之前的文本。
    'link_after'        => "", // (string) Text after the link text.
    'echo'              => "", // (bool) 是回显菜单还是返回菜单。默认为true。
    'depth'             => "", // (int) 要包含多少层次结构。0表示全部。默认值0。
    'walker'            => "", // (object) 自定义walker类的样式。
    'theme_location'    => "", // (string) 要使用的主题位置。必须使用register_nav_menu()注册,以便用户可以选择。
    'items_wrap'        => "", // (string) 列表项应如何包装。默认值是具有id和类的ul。使用带编号占位符的printf()格式。
    'item_spacing'      => "", // (string) 是否在菜单的HTML中保留空白。接受“preserve”或“discard”。默认preserve。
) );

参数

$ args

(array) (可选) 导航菜单参数的数组。

  • 'menu'
    (int | string | WP_Term所需菜单。接受菜单ID,段,名称或对象。
  • 'menu_class'
    (字符串) CSS类,用于形成菜单的ul元素。默认为“菜单”。
  • 'menu_id'
    (字符串)应用于构成菜单的ul元素的ID。默认为菜单项,递增。
  • 'container'
    (字符串)是否包装ul,以及包装什么。默认为“ div”。
  • 'container_class'
    (字符串)应用于容器的类。默认为“菜单-{菜单子弹}-容器”。
  • 'container_id'
    (字符串)应用于容器的ID。
  • 'fallback_cb'
    (callable | bool)如果菜单不存在,则将触发回调函数。默认值为“ wp_page_menu”。设置为false不会回退。
  • 'before'
    (字符串)链接标记之前的文本。
  • “之后”
    (字符串)链接标记之后的文本。
  • 'link_before'
    (字符串)链接文本之前的文本。
  • 'link_after'
    (字符串)链接文本之后的文本。
  • 'echo'
    (布尔)是回显菜单还是返回菜单。默认为true。
  • 'depth'
    (int)要包含多少个层次结构。0表示全部。默认值0
  • 'walker'
    (对象)自定义walker类的实例。
  • 'theme_location'
    (字符串)要使用的主题位置。必须向register_nav_menu()注册,以便用户选择。
  • 'items_wrap'
    (字符串)应该如何包装列表项。默认值为带有ID和类的ul。使用带编号占位符的printf()格式。
  • 'item_spacing'
    (字符串)是否保留菜单HTML内的空格。接受“保留”或“丢弃”。默认为“保留”。

默认值:array()


返回

(string | false | void)如果$ echo为false,则菜单输出,如果没有项目或没有找到菜单,则为false。

更多信息

用法

1个wp_nav_menu( $args );

给定一个theme_location参数,该函数将显示分配给该位置的菜单。如果不存在这样的位置或没有为其分配菜单,则参数fallback_cb将确定显示的内容。

如果未提供theme_location参数,则函数显示

  • 与菜单参数给定的ID,子段或名称匹配的菜单;
  • 否则,第一个非空菜单;
  • 否则(或者如果menu给定的菜单为空),则输出fallback_cb参数给定的函数默认为wp_page_menu());
  • 否则什么都没有。

以下类适用于菜单项,即HTML生成的HTML <li>标签wp_nav_menu()

所有菜单项

  • .menu-item
    此类添加到每个菜单项。
  • .menu-item-has-children
    此类已添加到具有子项的菜单项。
  • .menu-item-object-{object}
    此类添加到每个菜单项,其中{object}是发布类型或分类法。
  • .menu-item-object-category
    此类已添加到与类别相对应的菜单项中。
  • .menu-item-object-tag
    此类已添加到与标签相对应的菜单项中。
  • .menu-item-object-page
    此类已添加到与静态页面相对应的菜单项中。
  • .menu-item-object-{custom}
    此类已添加到与自定义帖子类型或自定义分类法相对应的菜单项。
  • .menu-item-type-{type}
    此类添加到每个菜单项,其中{type}是“ post_type”或“分类”。
  • .menu-item-type-post_type
    此类被添加到与帖子类型相对应的菜单项中:静态页面或自定义帖子类型。
  • .menu-item-type-taxonomy
    将此类添加到与分类法相对应的菜单项:即类别,标签或自定义分类法。

当前页面菜单项

  • .current-menu-item
    此类已添加到与当前呈现的页面相对应的菜单项中。

当前页面父菜单项

  • .current-menu-parent
    此类已添加到与当前呈现的页面的层次结构父级相对应的菜单项中。
  • .current-{object}-parent
    此类被添加到与当前渲染的对象的层次父级相对应的菜单项中,其中{object}对应于.menu-item-object- {object}所使用的值。
  • .current-{type}-parent
    此类已添加到与当前呈现的类型的层级父级相对应的菜单项中,其中{type}对应于.menu-item-type- {type}所使用的值。

当前页面祖先菜单项

  • .current-menu-ancestor
    此类被添加到与当前呈现的页面的层次祖先相对应的菜单项中。
  • .current-{object}-ancestor
    此类已添加到与当前渲染的对象的层级祖先相对应的菜单项中,其中{object}对应于.menu-item-object- {object}所使用的值。
  • .current-{type}-ancestor
    此类被添加到与当前呈现类型的层次结构祖先相对应的菜单项中,其中{type}对应于.menu-item-type- {type}所使用的值。

网站首页菜单项

  • .menu-item-home
    此类已添加到与网站首页相对应的菜单项中。

并且向后兼容wp_page_menu()

添加了以下类以保持与[[Function Reference / wp_page_menu | wp_page_menu() ]]函数输出:

  • .page_item
    此类已添加到与静态页面相对应的菜单项中。
  • .page_item_has_children
    此类被添加到具有子页面的菜单项中。
  • .page-item-$ID
    此类被添加到与静态页面相对应的菜单项中,其中$ ID是静态页面ID。
  • .current_page_item
    此类被添加到与当前呈现的静态页面相对应的菜单项中。
  • .current_page_parent
    此类已添加到与当前呈现的静态页面的层次结构父级相对应的菜单项中。
  • .current_page_ancestor
    此类已添加到与当前呈现的静态页面的分层祖先相对应的菜单项中。
2020-01-08
WP开发

怎么添加特色图片功能? - Wordpress开发

2020-1-7 21:50:23

WP开发

wordpress隐藏文章的部分内容,需要注册登录网站后可见

2020-1-8 23:22:35

⚠️
Npcink上的部份代码及教程来源于互联网,仅供网友学习交流,若您喜欢本文可附上原文链接随意转载。
无意侵害您的权益,请发送邮件至 link@baimu.org 或点击右侧 私信:Muze 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索