wordpress菜单函数wp_nav_menu的使用

wp_nav_menu是wordpress3.0版本后所支持的菜单函数,可以在网站后台外观下生成菜单功能按钮,菜单项可以是自定义链接、页面、分类目录、图片标签。并且支持拖动,从而改变排序和父子关系,最强大的是可以为每个项目添加不同的样式和关系属性。

使用菜单可以使导航的调用变得非常简单和方便,使用方法如下:
1、在wordpress主题函数文件functions.php添加以下代码:

if (function_exists(‘add_theme_support’)) {

//开启导航菜单主题支持

add_theme_support(‘nav-menus’);

//注册一个导航菜单

register_nav_menus( array( ‘primary’ => __( ‘Primary Navigation’, ‘primary’ ) ) );

}

2、添加后,然后在wordpress后台刷新,就可以在外观下多出一个菜单按钮,然后使用以下代码在主题需要展示菜单的地方即可:

<?php wp_nav_menu($args);?>

注:其中的$args官方提供的很多的参数,可以根据自己的需要自由选择。

$menu_args = array(

//最外层容器的标签名,默认div

‘container’ => ‘div’,

//最外层容器的class名

‘container_class’ => ‘mainNavBlock’,

//最外层容器的id名

‘container_id’ => ‘menu’,

//导航菜单ul标签的class名

‘menu_class’ => ‘mainNav’,

//导航菜单ul标签的id名

‘menu_id’ => “nav”,

//是否打印,默认是true,如果想将导航的代码作为赋值使用,可设置为false

‘echo’ => true,

//备用的导航菜单函数,用于没有在后台设置导航时调用

‘fallback_cb’ => ‘the_main_nav’,

//显示在导航a标签之前

‘before’ => ‘<p>’,

//显示在导航a标签之后

‘after’ => ‘</p>’,

//显示在导航链接名之前

‘link_before’ => ‘<em>’,

//显示在导航链接名之后

‘link_after’ => ‘</em>’,

//显示的菜单层数,默认0,0是显示所有层

‘depth’ => 0,

//调用一个对象定义显示导航菜单

‘walker’ => new Walker_Nav_Menu(),

//指定显示的导航名,如果没有设置,则显示第一个

‘theme_location’ => ‘primary’,

);

//打印导航菜单

wp_nav_menu( $menu_args );

扩展应用案例①:
多菜单调用函数支持:

if ( function_exists(‘register_nav_menus’)) {register_nav_menus(array(‘primary’ =>’顶部菜单设置’));}

if ( function_exists(‘register_nav_menus’)) {register_nav_menus(array(‘footmenu’ =>’底部菜单设置’));}

调用代码:

<?php wp_nav_menu( array(‘theme_location’ =>’primary’,)); ?>

<?php wp_nav_menu( array(‘theme_location’ =>’footmenu’,)); ?>

扩展应用案例②:
根据是否登录生成不同该菜单栏(是登陆会员和游客看到不同的菜单导航)

<?php

if ( is_user_logged_in() ) {

wp_nav_menu( array( ‘theme_location’ => ‘logged-in-menu’ ) );

} else {

wp_nav_menu( array( ‘theme_location’ => ‘logged-out-menu’ ) );

}

?>

 

 

作者:PHP学习网,本文 wordpress菜单函数wp_nav_menu的使用 版权归作者,免费文章欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
编辑精选
MySQL分库分表的一些技巧 2603 浏览 2014-05-15
腾讯QQ企业邮箱POP3/SMTP设置 2091 浏览 2016-01-05
风影博客主题 2560 浏览 2014-08-07
实例讲解Nginx下的rewrite规则 2680 浏览 2014-10-11

发表评论