最近接触了很多PHP的东西,也学到了很多新的,就想着也利用热乎的知识优化一下基于 Wordpress
的极风游官网。
实际操作过程中,发现其实除了php的知识以外,wordpress也还是有很多自己的东西,而这些东西它不仅仅是一个概念,主要是深入到了主题及插件开发的方方面面。比如题目中的 taxonomy
、category
和 term
,就让我花了好些时间去理解。记录一下吧。
分类法(Taxonomy)
作为分类法,必须和 Category(分类)
撇清关系。首先它用来对你的数据进行分类并且把他们分组到数据集或子集中。
简单理解,无论系统默认的 Category
,还是 Tag(标签)
,都是一种分类法。
当然,我们还可以创建自定义分类法,例如 工单 和 常见问题 ,这给文章提供了独立的分类方式。
分类项(Term)
Term
其实就是分类法的一个子集,它进一步细分了分类法。
接着分类法的例子,我们可能还会创建 计费问题、 售后问题、 服务问题 等作为 工单 的子类。
分类(Category)
Category
是一个Wordpress系统内置分类法,与 Tag
相对应。前者是一个具有层级结构的分类法,而后者是非层级结构的。
那么,根据之前我们说的,这里新建分类,例如 最新 和 精选,实际上就是新建了2个 Term
。
进一步理解
来看图说话吧,下图是数据库设计。
分类法和分类项相关内容存储于下面的数据表中:
- wp_terms – 所有分类项
- wp_term_taxonomy – 分类项所属分类法
- wp_term_relationships – 分类法所对应的具体对象(例如 category 对应 post)
总结
这些都理解了,那么诸如 register_taxonomy
、get_terms
之类的方法,也就知道什么时候使用了。
其实感觉wordpress还是一直在努力与时俱进的,虽然感觉为了向前兼容真的妥协了很多东西,但是总的来说,仍然不失为一个好用的CMS系统。
[2023年01月10日原始发布于本作者博客]
👇点击“阅读原文”可恢复文章内所有链接哦!
阅读原文:https://www.gsgundam.com/2023/01/2023-01-10-z20-understanding-wordpress-taxonomy-term-category/