wordpress主题制作2 菜单导航栏制作
2018-10-16 本文已影响0人
Tanya木易
- 当后台“外观”没有“菜单”选项
在wordpress\wp-content\themes\XXXXXXX\functions.php中加入:
//后台显示菜单、小工具
<?php
if ( function_exists('register_sidebar') )
register_sidebar(array(
'before_widget' => '<div class="sidebox"> ',
'after_widget' => '</div>',
'before_title' => '<h2>',
'after_title' => '</h2>',
));
?>
- 激活主题菜单功能:在functions.php文件中加入:
//激活菜单
if(function_exists('register_nav_menus')){
register_nav_menus(
array(
'header-menu' => __( '导航自定义菜单' ),
'footer-menu' => __( '页角自定义菜单' ),
'sider-menu' => __('侧边栏菜单')
)
);
}
- 将原有菜单html修改:
<!--
<div class="nav-menu fl">
<ul>
<li class="nav-logo" ><a href="index.html">小舍</a></li>
<li><a href="index.html">首页</a></li>
<li><a href="room.html">雅舍</a></li>
<li><a href="food.html">餐吧</a></li>
<li><a href="article.html">古城</a></li>
<li><a href="contect.html">联系我们</a></li>
</ul>
</div>
-->
//修改为
<div class="nav-menu fl">
<ul>
<li class="nav-logo" ><a href="index.html">小舍</a></li>
<?php wp_nav_menu( array( 'theme_location' => '', 'menu'=> 'menu' ) ); ?>
</ul>
</div>
- 菜单函数wp_nav_menu()介绍:
<?php wp_nav_menu(
array(
'theme_location' => '' //指定显示的导航名,如果没有设置,则显示第一个
'menu' => 'header-menu',
'container' => 'nav', //最外层容器标签名
'container_class' => 'primary', //最外层容器class名
'container_id' => '',//最外层容器id值
'menu_class' => 'sf-menu', //ul标签class
'menu_id' => 'topnav',//ul标签id
'echo' => true,//是否打印,默认是true,如果想将导航的代码作为赋值使用,可设置为false
'fallback_cb' => 'wp_page_menu',//备用的导航菜单函数,用于没有在后台设置导航时调用
'before' => '',//显示在导航a标签之前
'after' => '',//显示在导航a标签之后
'link_before' => '',//显示在导航链接名之后
'link_after' => '',//显示在导航链接名之前
'items_wrap' => '<ul id="%1$s">%3$s</ul>',
'depth' => 0,////显示的菜单层数,默认0,0是显示所有层
'walker' => ''// //调用一个对象定义显示导航菜单 ));
?>
wordpress官方wp_nav_menu()文档
- 根据是否登录生成不同该菜单栏
<?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' ) );
}
?>