• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

    WordPress导航菜单函数wp_nav_menu()详解

    发布者: 晋3555 | 发布时间: 2025-6-19 09:23| 查看数: 17| 评论数: 0|帖子模式

    1、wp_nav_menu()函数介绍:
    worpdress发展到3.0以后增加了一个自定义菜单函数wp_nav_menu(),使得wordpress能够轻松的制作自己的导航菜单。
    2、如何调用导航菜单(自定义菜单):
    在需要调用导航菜单(或者称之为自定义菜单)的地方插入来调用导航菜单,其中$args是函数的参数,后面会详细说明。
    3、wp_nav_menu($args)函数中,参数$args的默认值:
     

    复制代码代码如下:


    4、wp_nav_menu($args)函数中每个参数的具体含义:
    $theme_locaton:(字符串)(可选)
    默认值: None
    用于在调用导航菜单时指定注册过的某一个导航菜单名,如果没有指定,则显示第一个。
    wp_nav_menu(array(    ‘theme_location’   =>’primary’)); //调用第一个菜单。
    $menu:(字符串)(可选)
    默认值: None
    使用导航菜单的名称调用菜单,可以是 id, slug, name (按顺序匹配的) 。
    $container:(字符串)(可选)
    默认值: div
    ul 父节点(这里指导航菜单的容器)的标签类型,只支持div 和 nav 标签, 如果是其它值, ul 父节点的标签将不会被显示。也可以用false(container => false)去掉ul父节点标签。
    $container_class:(字符串)(可选)
    默认值: menu-{menu slug}-container
    ul 父节点的 class 属性值。
    $container_id:(字符串)(可选)
    默认值: None
    ul 父节点的 id 属性值。
    $menu_class:(字符串)(可选)
    默认值: menu
    ul 节点的 class 属性值。
    $menu_id:(字符串)(可选)
    默认值: menu slug, 自增长的
    ul 节点的 id 属性值。
    $echo:(布尔型)(可选)
    默认值: true (直接显示)
    确定直接显示导航菜单还是返回 HTML 片段,如果想将导航的代码作为赋值使用,可设置为false。
    $fallback_cb:(字符串)(可选)
    默认值: wp_page_menu (显示页面列表作为菜单)
    用于没有在后台设置导航时调的回调函数。
    $before:(字符串)(可选)
    默认值: None
    显示在每个菜单链接前的文本。
    $after:(字符串)(可选)
    默认值: None
    显示在每个菜单链接后的文本。
    $link_before:(字符串)(可选)
    默认值: None
    显示在每个菜单链接文本前的文本。
    $link_after:(字符串)(可选)
    默认值: None
    显示在每个菜单链接文本后的文本。
    $items_wrap:(字符串)(可选)
    默认值: None
    使用字符串替换修改ul的class。
    $depth:(整型)(可选)
    默认值: 0
    显示菜单的深度, 当数值为 0 时显示所有深度的菜单。
    $walker:(对象型)(可选)
    默认值:  new Walker_Nav_Menu
    自定义的遍历对象,调用一个对象定义显示导航菜单。
    5、如何兼容旧版本的wordpress:
    利用参数$fallback_cb来实现对旧版本的wordpress的兼容,将参数 ‘sort_column’=>’menu_order’ 写入 wp_nav_menu 的参数, 那该参数同时也会传递到 call_user_func 方法中. 如果 call_user_func 是 wp_page_menu 方法, 那么显示的页面列表将会以赋予的序号排序输出.
     
     
    复制代码代码如下:
    if ( ( !$menu || is_wp_error($menu) || ( isset($menu_items) && empty($menu_items) && !$args->theme_location ) )
    && ( function_exists($args->fallback_cb) || is_callable( $args->fallback_cb ) ) )
    return call_user_func( $args->fallback_cb, (array) $args );</p>
    // 如果找不到指定菜单, 或者菜单不存在任何条目并没有指定自定义菜单, 使用 call_user_func 方法来进行处理
    来源:https://zhuji.jb51.net/wordpress/7685.html
    免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

    最新评论

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表