最近开始看一下WordPress 3.0的新增功能,坦白说是很不想去看,觉得越看越麻烦;而且目前的2.9.2 功能也凑合,一切安好的感觉没有升级的必要。
![]()
然而事实又未然:这几天都有使用我主题的朋友留言问我怎样才能调整导航按钮的顺序,我不得不告诉他编辑主题文件的方法,还有让他去看一下相关的官方CODEX ,了解一些参数的运用,直到最后他回复说他已经懂了。我想这样折腾别人又折腾自己何必呢,所以我干脆把主题修改一下,用上3.0 中的custom menu功能, 这样大家就轻松多了。
反正3.0 上的新功能已经不是新鲜事儿,很多折腾星人从它的beta版时就已经摸了个透彻,要来个汇总什么的推荐大家看这一篇文章:WORDPRESS 3.0 THEME DEVELOPMENT LINKS,应该错不了。我这次需要的只是custom menu 的功能部分,也不复杂,大家在上面链接里的开头部分就能够知道清楚了,我在这里也没必要再贴次代码,略过。
中间我发现的问题是要怎样兼容3.0之前的版本,在官方CODEX 中有这样一篇推荐文章,说是能够解决新旧版本的兼容问题。我自己试了一下,但没成功;又看了一下3.0 上新的默认主题-twenty ten 上也没有这样考虑的。所以如果有谁知道如何兼容旧版本的话请告知一声,我也想看看。
不过估计就算知道了兼容的方法,我也是不打算去折腾这个。我想在使用WordPress中99% 的人们还是会理所当然地升级到最新版本的;那些不想升级的,基本上就是能自己折腾代码的人吧,应该用不上我来操心。
另外官方为这个新功能留了一个叫$fallback_cb 的后门参数,目的是让用户在没有设置具体的menu时候,默认使用的menu是wp_page_menu这个。因为在我更改的主题中,导航栏是已经有了选择分类显示或者页面显示的功能,所以对我来说,最简单的方法是使用下面这个条件判断:
<?php if ( has_nav_menu( ) ) { ?>
就是说,有用户设置的menu的话就按后台设置的显示,没的话就按我自己的,不一定是默认的wp_page_menu。我觉得这个更好用。
最后,估计大家还是会升级吧,否则在选用主题时候还是要看清楚:有没有人象我一样也在主题介绍的第一项就写上:ONLY BUILT FOR WORDPRESS 3.0。呵呵,要看清楚~