诗沐的设计博客和作品集。提供网页设计/开发/用户体验咨询/wordpress博客主题设计等服务。记录网页设计&开发教程,发布wordpress主题。

endless posts

Home » blog » 教程

06/26/2010 (21 days ago)in教程

版权声明:本文来自于Shimu design,转载请注明作者信息及原文链接。
Trackback: wordpress3.0导航菜单初探

最近在做一个客户的网站,准备把wordpress当作CMS来做(省时省力:))。刚好wordpress3.0发布了,popomore同学已经用上了,我也尝试这用wordpress的导航菜单功能来做客户网站的导航。

menu

一些基本的知识

把wordpress3.0升级完之后,在Appearance菜单底下就有Menus的选项,见下图:

Menus screenshot

Theme location面板是选择在你主题中已经注册了的导航菜单。如果要使用导航菜单,必须在主题里先注册,代码如下:(我注册了两个导航菜单)

	// This theme uses wp_nav_menu() in one location.
	register_nav_menus( array(
		'primary_left' => __( 'Primary Navigation Left', 'moonbay' ),
	) );
	register_nav_menus( array(
		'primary_right' => __( 'Primary Navigation Right', 'moonbay' ),
	) );

这里有几个参数,其中 primary_left和primary_right是两个导航菜单的注册标识, Primary Navigation Left和Primary Navigation Right是菜单的名称,会显示在Theme location面板里的下拉框中。moonbay则是我为主题的命名。

注册完导航菜单后,就可以来编辑了。Custom links, Pages, Categories三个面板,可以添加自定义链接,页面,或者分类到导航菜单里去,这样就可以很方便地做出CMS的导航了(见文章开头的那张图)

用导航菜单的第一个trick

我一开始只注册了一个导航菜单,后来发现不能满足需求。如本文开头那张图所示,我想让导航菜单的左边三个靠左,右边三个靠右。在我的html的DEMO里是这样的:

       <div id="nav">
		<ul>
			<div class="left">
				<li class="active"> <a href="#" title="首页"> Home</a> </li>
				<li> <a href="#" title="首页"> News</a> </li>
				<li> <a href="#" title="首页"> Membership</a> </li>
			</div>
			<div class="right">
				<li> <a href="#" title="首页"> Activities</a> </li>
				<li> <a href="#" title="首页"> About</a> </li>
				<l> <a href="#" title="首页"> Contact</a> </li>
			</div>
			<div class="clear"> </div>
		</ul>
	</div>

left和right两个class设为float:left和float:right,这样就实现了左边靠左,右边靠右。

而现在如果只注册一个导航菜单的话,不能在li标签外在包一个div,如果通过js来判断前三个li外包一个div的话,又挺别扭的(那样我还不如完全hard coding)。后来想到,我可以注册两个导航菜单,都是我的主导航,只不过一个在左,一个在右:

< ?php wp_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => 'primary_left' ) ); ?> </div><!-- #left_nav --> <div class="right"> < ?php wp_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => 'primary_right' ) ); ?> </div><!-- #right_nav -->

这样我就实现了DEMO中的效果。导航菜单的好处就是在开发完主题之后方便客户使用,毕竟你不能要求他们去改模板,你也不希望客户仅仅是想改一下导航菜单条目的顺序或者文字,就来电话你。hard coding适合给自己用,但wordpress3.0支持了导航菜单,则可以说开启了一个建站的小时代。因为wordpress的开发者社区可是相当红火的,会有各种各样的tricks冒出来。本文所举的只是小小的一粒。

类似的网志,挑你喜欢的看:

2 Responses(+Share your idea)

  • 风羽

    07/08/2010, 16:11

    我也在学习这个东西,升级了3.0但导航倒没用上

  • shimu

    07/08/2010, 19:13

    @风羽 – 3.0的新东西蛮多的~

leave a comment

* Required (but your email address will never be published)