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

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

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

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

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

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

简单调用如下:

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

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

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

移除菜单栏

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

或者

  1. <?php wp_nav_menu( array( 'container' => '' ) ); ?>  

瓜皮猪

发表评论

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