WordPress菜单函数wp_nav_menu()详细介绍

2019年12月18日07:22:28 发表评论 热度387 ℃

其主要用途是通过该方法,实现后台的生成菜单调用。

使用该功能之前,必须激活主题3.0+菜单功能。

激活方法如下:在functions.php文件中加入

  1. if(function_exists('register_nav_menus')){
  2. register_nav_menus(
  3. array(
  4. 'header-menu' => __( '导航自定义菜单' ),
  5. 'footer-menu' => __( '页角自定义菜单' ),
  6. 'sider-menu' => __('侧边栏菜单')
  7. )
  8. );
  9. }

简单调用如下:

  1. array(
  2. 'theme_location' =>''//指定显示的导航名,如果没有设置,则显示第一个
  3. 'menu' => 'header-menu',
  4. 'container' => 'nav',//最外层容器标签名
  5. 'container_class' => 'primary',//最外层容器class名
  6. 'container_id' =>'',//最外层容器id值
  7. 'menu_class' => 'sf-menu',//ul标签class
  8. 'menu_id' => 'topnav',//ul标签id
  9. 'echo' => true,//是否打印,默认是true,如果想将导航的代码作为赋值使用,可设置为false
  10. 'fallback_cb' => 'wp_page_menu',//备用的导航菜单函数,用于没有在后台设置导航时调用
  11. 'before' =>'',//显示在导航a标签之前
  12. 'after' =>'',//显示在导航a标签之后
  13. 'link_before' =>'',//显示在导航链接名之后
  14. 'link_after' =>'',//显示在导航链接名之前
  15. 'items_wrap' => '
      "%1$s">%3$s
    ',
  16. 'depth' => 0,////显示的菜单层数,默认0,0是显示所有层
  17. 'walker' =>''// //调用一个对象定义显示导航菜单 ));
  18. ?>

根据是否登录生成不同该菜单栏

  1. if( is_user_logged_in() ) {
  2. wp_nav_menu(array( 'theme_location' => 'logged-in-menu' ) );
  3. }else{
  4. wp_nav_menu(array( 'theme_location' => 'logged-out-menu' ) );
  5. }
  6. ?>

移除菜单栏

  1. functionmy_wp_nav_menu_args($args='')
  2. {
  3. $args['container'] = false;
  4. return$args;
  5. }// function
  6. add_filter( 'wp_nav_menu_args', 'my_wp_nav_menu_args' );
  7. ?>

或者

  1. array( 'container' =>'') ); ?>

本文最后更新于:2019-12-25 13:15
瓜皮猪

发表评论

:?::razz::sad::evil::!::smile::oops::grin::eek::shock::???::cool::lol::mad::twisted::roll::wink::idea::arrow::neutral::cry::mrgreen: