GG资源网

在 WordPress 中创建自定义分类法的快速指南

我被问到关于 WordPress 的最常见问题通常是关于自定义帖子类型(我在如何创建 WordPress 自定义帖子类型中介绍过)和自定义分类法,我们今天将要解决这些问题。

WordPress 3.0 中引入了自定义分类法作为核心功能,它允许您将帖子与标签和类别以外的内容组合在一起。 例如,如果您经营一个有关书籍或电影的网站,您可以使用名为“流派”的自定义分类法,如果您撰写有关体育的文章,则可以使用名为“体育”的分类法。

在这篇文章中,我们将了解什么是自定义分类法、如何使用它们以及如何创建自己的分类法。

我们将介绍以下内容:

  • 什么是类别、标签、分类法和术语?
  • 创建分类法
  • 自定义分类法
    • 分类标签
    • 分类可见性
    • 等级制度
    • 重写规则
    • 把它们放在一起

什么是类别、标签、分类法和术语?

关于标签和类别之间的区别以及分类法如何适应所有这些方面存在很多混淆。 混淆源于我们在将项目分类时使用“分类”一词,但我们实际上并没有单独的词将项目分类为标签或其他分类法(tagize?)。 因此,每当我们将项目分组时,我们将其称为“分类”。

“分类法”这个词是一个总称,是一种基于相似属性对项目进行排序的方法。 术语是分类法的成员,是基于哪些项目排序的相似属性。 “类别”和“标签”都是一种分类法。 特定类别和标签是分类法中的术语。 如果这还不清楚,请不要担心,继续阅读,它很快就会变得更清楚!

从技术上讲,类别和标签之间没有区别,只有我们自定义使用它们的方式。 大多数人只使用几个类别,这是有道理的,因为它使我们的网站更易于浏览。 我们通常对标签发疯,在每个帖子中添加一对。

从技术上讲,类别和标签之间没有区别,只有我们自定义使用它们的方式。

WordPress 将类别定义为分层的。 这意味着一个类别可以是另一个类别的父类别。 例如,您可以将“艺术”作为顶级类别,将“摄影”、“插图”和“绘画”作为子类别。 标签是非分层的。 在管理员中,这反映在用户界面中。

类别显示在一个较大的框中,每个类别都列出并位于正确的层次结构中。 它们可以被选中和不被选中,以实现最终的类别结构。 标签更自由。 它们可以是带有建议的松散类型,并且可以使用逗号添加多个类型。

分类法由主题或插件定义,可以设置为您希望的任何类型。 以体育博客为例,也许您有一个名为“体育”的分层分类法。 这包含诸如“武术”、“球类运动”和“田径”等顶级术语。 武术术语可能有一些子术语,例如“空手道”和“跆拳道”。

您可能还希望使用您提到的运动员的姓名作为分类,以便能够轻松列出与这些人相关的新闻项目。 您可以为此创建一个非分层分类法。 此分类中的术语可能是“迈克尔乔丹”、“迈克尔舒马赫”或“尤塞恩博尔特”。

重要的是要了解,虽然这里有良好的做法,但您使用分类法的方式取决于您。 新闻网站可以使用类别将内容分为“体育”、“商业”和“其他”。 另一个新闻网站可能使用相同的分类,但可能将其分类命名为“新闻类型”而不是“类别”。

创建分类法

您需要编写一些代码来创建分类法,但不要害怕,我会为您提供可以复制和粘贴的示例。 您可以在三个位置添加您在本文中找到的代码。 放置它的最佳位置是在插件中。 您可以了解如何在 WordPress Codex 中创建插件。

如果您使用的是第三方主题,那么您应该创建一个子主题以确保您不会修改主题的原始文件。 查看我们关于如何创建子主题的文章。

最简单但最不推荐的方法是使用您的主题 functions.php 文件。 如果您只是在尝试,请随意使用此文件,请注意,如果您更新主题,您所做的更改将会丢失。

我们可以使用 register_taxonomy() 功能。 这是一个基本示例:

加载要点 8b3aa667cc980bff22cec0a8e042e6d7

在 WordPress 管理员中,它看起来像这样:

体育分类
后端的简单分层分类法。

这实际上是我们需要做的所有事情来获得一个功能齐全的分类法。 我们可以通过改变 hierarchical 财产 false. 现在让我们通过创建一个分类法来做到这一点,我们可以在其中将运动员分配到我们的帖子:

加载要点 46a448719507e2aed117f863f9960f10

这是它在管理员中的样子:

运动员分类
后端中的一个简单的非分层分类法。

这两个例子都很棒,但我们可以做的还有很多。 首先,看一下截图并注意措辞。 “添加新类别”、“从最常用的标签中选择”等。

文本本身不会更改以适合我们的分类名称。 让我们来看看我们可以使用的一些高级选项。

自定义分类法

register_taxonomy() 函数接受三个参数。 第一个参数是分类的 slug。 第二个是定义应该添加到的帖子类型的 slug 的字符串,或者是定义许多帖子类型的字符串数组。 第三个参数是用于设置分类的属性数组。

分类标签

我们将添加到这个属性数组的第一件事是使用的标签。 这将调整与分类相关的所有文本。

加载要点 3d4286dfdb148e149d8446ec6be65dcf

上面的函数按原样替换了我们原来的函数。 我唯一添加的是标签,但由于所有选项,它是一个相当大的数组。 对于所有未来的示例,为简洁起见,我将省略标签。

分类可见性

有时您可能希望用户看到您的分类法,有时您可能只想在内部使用它们。 这些参数使您可以非常详细地控制所有这些。 以下是可用参数及其可能的值:

  • public: 此参数一次性设置许多其他参数。 如果设置为 true,则分类法将是可公开查询的,这意味着它对前端的用户可见。 如果设置为 false,它将仅在内部使用。
  • show_ui: 当设置为 false 时,不会显示上面屏幕截图中的框。 分类法可以通过代码添加、检索和使用,但不能通过用户界面。 默认情况下,该参数的值与为 public 范围。
  • show_in_nav_menus: 如果此参数设置为 false,则无法在 WordPress 的菜单管理器部分选择术语。 默认情况下,该参数的值与为 public 范围。
  • show_tagcloud: 此参数设置标签云小部件是否可以使用此分类。 默认情况下,该参数的值与为 public 范围。
  • show_admin_column: 如果设置为 true,分类将在它所附加的帖子类型的帖子列表中可见。 默认情况下,此参数的值为 false.

等级制度

我在开头部分提到了层次结构。 这 hierarchy 参数可以设置为 true 要么 false. 默认情况下,分类法是非分层的,因此该值设置为 false.

我认为当您将使用一组不会随时间变化太多的术语时,使用分层分类法是一个非常好的经验法则。

重写规则

我不想涉及很多细节,因为重写规则可能会带来比其价值更多的麻烦。 但是,在某些情况下,您可能需要调整它们,尤其是在您使用通用分类名称时。 如果您想使用分类名称“Car”,但希望 URL 使用其他名称,例如“car-model”,您可以修改重写规则,如下所示:

加载要点 e5354442eb22c99b30081d77b0f40cfa

把它们放在一起

一个完整的例子将包括我们所有的标签和一些其他需要的选项设置。 如果我正在实施我们的“运动员”分类法,我将在现实生活中使用以下示例:

加载要点 c9f0d5c3f3db84fd36d003e8c5ec001c

结论

在本文的过程中,我们查看了类别、标签、分类法和术语之间的差异,并学习了如何轻松创建自己的。 希望您现在知道何时创建分类法以及如何创建分类法。

如果您需要一个不错的小捷径,请查看这个分类生成器,它允许您填写一个为您生成所需功能的表格。

标签:

由于网站搬家,部分链接失效,如无法下载,请联系站长!谢谢支持!
1. 带 [亲测] 说明源码已经被站长亲测过!
2. 下载后的源码请在24小时内删除,仅供学习用途!
3. 分享目的仅供大家学习和交流,请不要用于商业用途!
4. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
5. 本站所有资源来源于站长上传和网络,如有侵权请邮件联系站长!
6. 没带 [亲测] 代表站长时间紧促,站长会保持每天更新 [亲测] 源码 !
7. 盗版ripro用户购买ripro美化无担保,若设置不成功/不生效我们不支持退款!
8. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
9. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
10.如果您购买了某个产品,而我们还没来得及更新,请联系站长或留言催更,谢谢理解 !
GG资源网 » 在 WordPress 中创建自定义分类法的快速指南

发表回复

CAPTCHAis initialing...