wordpress导航栏菜单自定义后台设置以及如何在前台调用要对应的菜单。在此记录一下,wp模板制作的时候可以用到。
首先在function.php中添加如下代码,注册后台菜单功能:
register_nav_menus( array( 'menu_top' => '头部导航', 'menu_bottom' => '底部导航' ) );
后台就会出现设置菜单的界面。
前台需要显示菜单的模板中用下面代码调用菜单:
<?php //顶部菜单 if(function_exists('wp_nav_menu')) { wp_nav_menu(array( 'theme_location' => 'menu_top','container_id'=>'menu_top') ); } //底部菜单 if(function_exists('wp_nav_menu')) { wp_nav_menu(array( 'theme_location' => 'menu_bottom','container_id'=>'menu_top') ); } ?>
这样前台就会显示对应的菜单了
wp_nav_menu参数详解:
<?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 ); ?>