WordPress如何添加自定义菜单和显示菜单

本文作者:
4个月前 (06-09) 沙发

我们做WordPress主题的时候,最重要的一部分就是菜单。WordPress菜单既充当了浏览者的网站指引者,也是搜索引擎眼里的网站小地图,所以WordPress菜单的重要性不言而喻。

1、WordPress添加自定义菜单

register_nav_menus() 是3.0以后用来注册自定义菜单的函数,通过它可以很方便地给你的主题注册一个或多个菜单,在主题的 functions.php 中添加:

// 自定义菜单
register_nav_menus(
 array(
 'main-nav' => __( '主导航菜单' ),
 'page-nav' => __( '页面菜单' ),
 'about-nav' => __( '底部关于我们菜单' ),
 'way-nav' => __( '底部快速通道菜单' ),
 )
);

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
$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 );
?>

相关文章

发表评论