WordPress学习第四天——分类排序的解决方案,category order
发布:smiling 来源: PHP粉丝网 添加日期:2014-10-18 09:44:12 浏览: 评论:0
最近在用上一篇介绍的那个Broadcast主题,非常好用,但是他的主菜单是基于文章分类的,而不是wordpress标准的菜单方式,所以排序就成了问题,网上有人说WordPress分类排序的原理是默认按照尾字母的英文字母去的,中文汉字是依照第一个汉字的笔划次序来的,分歧范例的排序则顺次是中文汉字--数字--26个英文字母。但我添加后的默认显示顺序是:联系我们、日本旅游、文化交流、合作伙伴、协会介绍。我也没看出来怎么是按中文笔画排序的。
关于分类排序很多人都提到各种各样的排序插件,比如my categories order之类的,但我搜了一下大多年久失修,很久没更新了,应该已经不能适应新版wp了。
第二种方法是修改wp-includes文件夹下:category-template.php页面中wp_list_categories函数里的这一句:'orderby' => 'id', 'order' => 'ASC',把name改成id,这样就可以按照id值排序了,起码找到了一个靠谱的规则。关于如何知道分类的id,很简单,分类编辑列表,把鼠标放在分类名称上,浏览器下方就会显示“.../?cat=2”这样的信息,结尾数字就是对应分类的id了,系统默认分配id的规则是自增的。对于Broadcast,菜单位置显示分类时id最值小的排在菜单最右段,我们习惯都是按左边排第一个,这样先添加的倒跑最后去了。不过没关系,我们可以先添加后面的,再添加前面的,顺序反过来就好。其实还有一个办法就是添加的时候名称只写1、2、3这样,然后再按需要的顺序改成想要的。
上述方法有一个明显缺点,就是以后要调整时会很麻烦,比如要调整个顺序,或者想在中间增加一个分类时就不好处理了。没关系,我们还有一个办法“修改数据库值”。
注:该方法仅在我本地简单测试,原理应该无误,但若发生问题本人概不负责……
wp的数据库里wp_terms表存储了文章分类和菜单,term_id就是他们的id值,我一开始就直接把这个值修改了想看顺序,结果一刷新前台发现分类没有了,后台看了一下也没有了,后来发现还有wp_term_taxonomy这个表,这个表里的term_id就是wp_terms的term_id,是外键,wp_terms和wp_term_taxonomy表term_id要同时修改就好。我一开始还担心文章是不是也引用了这个id,那样添加了很多文章后就麻烦了,后来发现wp的dba可能考虑过这个问题,它是用wp_term_relationships表来存储文章和菜单或分类对应关系的,而且用的是wp_term_taxonomy表的term_taxonomy_id,而这个值我们是不用修改的,所以就没问题啦。从此以后就可以随心所欲修改分类显示顺序啦,哈哈哈哈哈。
Tags: WordPress分类排序 category
相关文章
- ·WordPress去掉category的3种方法(2014-05-24)
- ·wordpress的category总结(2014-06-05)
- ·wordpress利用is_category()实现不同分类显示不同样式(2014-06-20)
- ·wordpress程序链接中的category如何去掉(2014-10-17)
- ·WordPress去掉category,不用插件,不用修改函数(2014-10-17)
- ·去掉WordPress网址中category的方法(2014-10-17)
- ·wordpress 修改记录(2014-10-18)
- ·如何去掉WordPress链接中category(2015-09-23)
- ·删除wordpress固定链接后URL中的category的方法(2015-10-15)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)