WordPress Blog 的分类与标签研究

前段时间偶而发现blog的分类与标签乱了,好多标签本来都是C#的,发现全都变成C++了,而且点击C++之后,也没有找到一条数据,郁闷啊。网上搜索了一段时间,最后自己又搞了好长时间才解决,整理如下。

WordPress blog对分类与标签的设计,总共使用了四张表:

wp_posts:文章/页面数据表(所有的页面、文章以及自动保存的数据都保存在这里)

wp_terms:分类/标签表(所有的分类、标签都保存在这)

wp_term_relationships:文章<--->分类/标签关系表(每个文章与分类的对应关系,以及与标签的对应关系都保存在这里)

wp_term_taxonomy:分类/标签标识表(该表保存 wp_terms 表中的数据是分类还是标签)

对应关系:

wp_posts表的ID对应wp_term_relationships表中的object_id

wp_terms表的term_id对应wp_term_taxonomy表中的term_id

wp_term_relationships表中的term_taxonomy_id对应wp_term_taxonomy表中的term_taxonomy_id 

对于经常设计数据库的人来说,现在已经一目了然了,这样描述一下:

wp_posts <-> wp_term_relationships <-> wp_term_taxonomy <-> wp_terms

就是这样,wp_posts保存页面/文章,wp_terms保存分类/标签,而wp_term_relationships 仅仅保存的是wp_posts与wp_terms多对多的关系,真正区分分类与标签的保存在wp_term_taxonomy 表中。

后来,我先找wp_terms表中的C++和C#这两条记录(term_id分别为21、13),然后找wp_term_taxonomy 表中term_id为21的那条记录(此时term_taxonomy_id 为22),这里我把wp_term_taxonomy 中这条记录的term_id修改为13(C#的term_id)。这样重新回到页面,就完全可以了。

最后我发现,对分类和标签的命名,尽量不要使用英文标点符号,比如:#、++,如果非要这样,那我建议你使用中文状态下的#、++。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值