自定义导航乃 Wordpress 3.0 之新功能也。主题支持后,可直接在 Wordpress 后台设置导航项目。可有些主题并不支持这个功能,如何使得它支持呢?
1.修改主题的 functions.php 文件,加上以下代码:
<?php
register_nav_menus(
array(
'mymenu' => __( 'mymenu' )
)
);
?>
2.在主题的适当位置(导航需要放置的位置,或许是在 header.php),将原来的导航代码(或许使用 wp_list_pages() 函数)替换为以下代码:
<?php
$mymenu_args = array(
//最外层容器的标签名,默认div
'container' => '',
//最外层容器的class名
'container_class' => '',
//最外层容器的id名
'container_id' => '',
//导航菜单ul标签的class名
'menu_class' => '',
//导航菜单ul标签的id名
'menu_id' => "",
//是否打印,默认是true,如果想将导航的代码作为赋值使用,可设置为false
'echo' => true,
//备用的导航菜单函数,用于没有在后台设置导航时调用
'fallback_cb' => 'mymenu',
//显示在导航a标签之前
'before' => '',
//显示在导航a标签之后
'after' => '',
//显示在导航链接名之前
'link_before' => '',
//显示在导航链接名之后
'link_after' => '',
//输出样式,备用:'<ul id=\”%1$s\” class=\”%2$s\”>%3$s</ul>'
'items_wrap' => '%3$s',
//显示的菜单层数,默认0,0是显示所有层
'depth' => 0,
//调用一个对象定义显示导航菜单
'walker' => new Walker_Nav_Menu(),
//指定显示的导航名,如果没有设置,则显示第一个
'theme_location' => 'mymenu',
);
wp_nav_menu( $mymenu_args );
?>
好!这样就接近完美了!接下来我们只需要修改下 CSS 所指定的元素了,例如把 .page_item
替换为 menu-item
。
你不要问我自定义菜单肿么使用,它其实就在 Wordpress 后台的“外观—菜单”。按照本文的方法去做,不要忘记菜单名神马的要写“mymenu”哦!
插话一句:这是我昨天帮一个人修改主题时,查找资料研究出来的。赚了点小费,还清了5元钱,还买了一个域名,嗯哼。
2012-4-28 P.S.更新代码!
若无特别说明,本文系原创,遵循 署名-非商业性使用 3.0 (CC BY-NC 3.0) 协议,转载文章请注明来自【闪星空间】,或链接上原文地址:http://shansing.com/read/167/
这个,貌似很多主题都可以自定义导航了
这个也不能说得很肯定,是吧?
这样就能赚到钱了....
还包括运气。。
刚刚发现 SMTP 不能发信是因为密码错误……
暴汗....
哇哈哈,不容易…………
不觉得用处很大诶。。现在的主题一般都有集成
这篇文章是给木有集成的主题用的。。
不错的技术文章哈、 不过自己对导航已经无感觉了。。。
一般一般啦啦。。
标题是WP。用的是Typecho。突然想,噗哧……
我还关注 Wordpress。
还在研究WP啊...
嗯,继续关注着。
这就能赚到钱了啊我也去