最后更新时间为 2018年6月10日
我们做WordPress主题的时候,最重要的一部分就是菜单。WordPress菜单既充当了浏览者的网站指引者,也是搜索引擎眼里的网站小地图,所以WordPress菜单的重要性不言而喻。
1、WordPress添加自定义菜单
register_nav_menus() 是3.0以后用来注册自定义菜单的函数,通过它可以很方便地给你的主题注册一个或多个菜单,在主题的 functions.php 中添加:
[php]
// 自定义菜单
register_nav_menus(
array(
‘main-nav’ => __( ‘主导航菜单’ ),
‘page-nav’ => __( ‘页面菜单’ ),
‘about-nav’ => __( ‘底部关于我们菜单’ ),
‘way-nav’ => __( ‘底部快速通道菜单’ ),
)
);
[/php]
2、WordPress显示自定义菜单
wp_nav_menu() 是WordPress 3.0 以后添加的一个自定义导航菜单调用函数,可用来调用 register_nav_menus() 注册的菜单。wp_nav_menu()的使用方法位于wp-includes/nav-menu-templates.php文件中。
可以通过 <?php wp_nav_menu( $args ); ?> 来调用菜单,其中参数 $args 的默认值如下:
[php]
<?php
$defaults = array(
‘theme_location’ => ”,//用于在调用导航菜单时指定注册过的某一个导航菜单名,如果没有指定,则显示第一个
‘menu’ => ”,//使用导航菜单的名称调用菜单,可以是 id, slug, name (按顺序匹配的) 。
‘container’ => ‘div’,//最外层容器标签名
‘container_class’ => ”,//最外层容器class名
‘container_id’ => ”,//最外层容器id值
‘menu_class’ => ‘menu’,//ul 节点的 class 属性值。
‘menu_id’ => ”,//ul 节点的 id 属性值。
‘echo’ => true,//确定直接显示导航菜单还是返回 HTML 片段,如果想将导航的代码作为赋值使用,可设置为false。
‘fallback_cb’ => ‘wp_page_menu’,//备用的导航菜单函数,用于没有在后台设置导航时调用
‘before’ => ”,//显示在导航a标签之前
‘after’ => ”,//显示在导航a标签之后
‘link_before’ => ”,//显示在导航链接名之前
‘link_after’ => ”,//显示在导航链接名之后
‘items_wrap’ => ‘<ul id="%1$s" class="%2$s">%3$s</ul>’,//使用字符串替换修改ul的class。
‘depth’ => 0,//显示菜单的深度, 当数值为 0 时显示所有深度的菜单。
‘walker’ => ”//自定义的遍历对象,调用一个对象定义显示导航菜单。
);
wp_nav_menu( $defaults );
?>
[/php]