会员登录 您是新人?

   

QQ登录

会员注册

       

WP管理员之家

wordpress菜单函数wp_nav_menu的使用

  1. wp_nav_menu是wordpress3.0版本后所支持的菜单函数,可以在网站后台外观下生成菜单功能按钮,菜单项可以是自定义链接、页面、分类目录、图片标签。并且支持拖动,从而改变排序和父子关系,最强大的是可以为每个项目添加不同的样式和关系属性。  
  2.   
  3. 使用菜单可以使导航的调用变得非常简单和方便,使用方法如下:  
  4. 1、在wordpress主题函数文件functions.php添加以下代码:  
  5.   
  6. if (function_exists(‘add_theme_support’)) {     
  7. //开启导航菜单主题支持     
  8. add_theme_support(‘nav-menus’);     
  9. //注册一个导航菜单     
  10. register_nav_menus( array( ‘primary’ => __( ‘Primary Navigation’, ‘primary’ ) ) );     
  11. }    
  12. 2、添加后,然后在wordpress后台刷新,就可以在外观下多出一个菜单按钮,然后使用以下代码在主题需要展示菜单的地方即可:  
  13.   
  14. <?php  wp_nav_menu($args);?>    
  15. 注:其中的$args官方提供的很多的参数,可以根据自己的需要自由选择。  
  16.   
  17. $menu_args = array(     
  18. //最外层容器的标签名,默认div     
  19. 'container' => 'div',     
  20. //最外层容器的class名     
  21. 'container_class' => 'mainNavBlock',     
  22. //最外层容器的id名     
  23. 'container_id' => 'menu',     
  24. //导航菜单ul标签的class名     
  25. 'menu_class' => 'mainNav',     
  26. //导航菜单ul标签的id名     
  27. 'menu_id' => "nav",     
  28. //是否打印,默认是true,如果想将导航的代码作为赋值使用,可设置为false     
  29. 'echo' => true,     
  30. //备用的导航菜单函数,用于没有在后台设置导航时调用     
  31. 'fallback_cb' => 'the_main_nav',     
  32. //显示在导航a标签之前     
  33. 'before' => '<p>',     
  34. //显示在导航a标签之后     
  35. 'after' => '</p>',     
  36. //显示在导航链接名之前     
  37. 'link_before' => '<em>',     
  38. //显示在导航链接名之后     
  39. 'link_after' => '</em>',     
  40. //显示的菜单层数,默认0,0是显示所有层     
  41. 'depth' => 0,     
  42. //调用一个对象定义显示导航菜单     
  43. 'walker' => new Walker_Nav_Menu(),     
  44. //指定显示的导航名,如果没有设置,则显示第一个     
  45. 'theme_location' => 'primary',     
  46. );     
  47. //打印导航菜单     
  48. wp_nav_menu( $menu_args );    
  49. 扩展应用案例①:  
  50. 多菜单调用函数支持:  
  51.   
  52. if ( function_exists('register_nav_menus')) {register_nav_menus(array('primary' =>'顶部菜单设置'));}     
  53. if ( function_exists('register_nav_menus')) {register_nav_menus(array('footmenu' =>'底部菜单设置'));}    
  54. 调用代码:  
  55.   
  56. <?php wp_nav_menu( array('theme_location' =>'primary',)); ?>     
  57. <?php wp_nav_menu( array('theme_location' =>'footmenu',)); ?>    
  58. 扩展应用案例②:  
  59. 根据是否登录生成不同该菜单栏(是登陆会员和游客看到不同的菜单导航)  
  60.   
  61. <?php     
  62. if ( is_user_logged_in() ) {     
  63. wp_nav_menu( array( 'theme_location' => 'logged-in-menu' ) );     
  64. else {     
  65. wp_nav_menu( array( 'theme_location' => 'logged-out-menu' ) );     
  66. }     
  67. ?>    

在线留言

您的昵称 *

您的邮箱 *

您的网站

评论内容

  1. 还没有任何评论,你来说两句吧

客服微信