WordPress 分类法:终极指南
已发表: 2021-01-20WordPress 分类法是许多 WordPress 开发人员从未使用过的东西。 有些人甚至从未听说过 WordPress 分类法。
近十年前,当 WordPress 3.0 引入分层分类法时,分类法成为 WordPress 开发人员工具包中更加有用的工具。 在高层次上,我们可以将分类法视为将事物组合在一起的方式。 在 WordPress 平台内,分类法是一种对帖子、自定义帖子类型或链接等内容进行分组的机制。
在本 WordPress 分类法指南中,我们将了解您需要了解的有关 WordPress 分类法的所有信息,以及如何使用它们来改进您的网站结构和用户体验。 让我们潜入。
什么是 WordPress 分类法?
如果您查看官方 WordPress Codex,您会看到 WordPress 分类法被定义为“所有内容的分组机制”。 简而言之,WordPress 分类法允许您根据帖子共享的特征对帖子进行分组。
例如,假设您正在运营一个关于过去 40 年流行音乐的博客。 您很有可能希望将您的博客文章分为特定类型。 分类法允许您进行此类分组。 分类法通过在用户浏览您的博客时提供更轻松、更直接的体验来帮助改善 UX(用户体验)。

4 种类型的 WordPress 分类法
WordPress 中用于对帖子进行分组的两个最常用的分类法是标签和类别。 这两者都在同一分类法的总体范围内。
总的来说,WordPress 有四种分类法,您可以在对博客文章进行分组时使用这些分类法。
在这里,我们将一一看看。
1. 分类
类别分类法允许您将帖子分为不同的层次类别。 您可以通过两种不同的方式使用类别对帖子进行分组。
第一个选项是登录您的 WordPress 仪表板并导航到帖子 > 类别。 在这里,您将能够定义类别并添加定义子类别和 slug 类别。
使用类别对帖子进行分组的第二种方法是在您的 WordPress 仪表板中导航到帖子 > 添加新内容。 当您查看可视化编辑器旁边的面板时,您会看到可以直接从该位置添加类别。
2. 标签
标签类似于类别,因为它允许您对帖子进行分组。 这种区别在于标签没有任何层次结构。
标签是将相关帖子放在一起的简单参数。 他们专注于博客内容的小细节,而不是整体主题。
让我们暂时回到您的理论音乐博客。 假设您想为音乐博客的内容制作流派和子流派。 做到这一点的最佳方法是对“90 年代的嘻哈明星”流派使用类别分类法。 这种分组分类法将支持层次结构。
然后,要将您的内容进一步细分为子类型,您可以为特定艺术家的内容添加标签,例如“Snoop Dogg”和“Ice Cube”。
例如,使用标签对内容进行分组的最佳部分是分组将包括您的任何包含“Snoop Dogg”标签的内容。
换句话说,即使某个特定的 Snoop Dog 内容与“90 年代的嘻哈明星”属于不同的类别,并且恰好属于“永不消失的艺术家”类别,但所有 Snoop Dog 内容仍然与标签。
要创建标签,请遵循与创建类别类似的路径。 可以通过导航到“帖子”>“标签”或直接在可视化编辑器旁边的面板中来完成。
您还可以在这些区域中定义 slug 和描述。
请务必注意,定义类别对于您的所有博客文章都是强制性的。 然而,标签是完全可选的。
所有帖子都需要至少有一个类别才能发布。 默认情况下,如果您没有定义特定类别,WordPress 会自动将帖子归入“未分类”类别。
请记住,“未分类”类别仍然是一个类别。
其余两个分类对您的站点用户不可见。 尽管它们不经常使用,但它们绝对值得一提并考虑如何在您的 WordPress 网站上使用它们。
3. 链接类别
这是一个 WordPress 分类法,可让您对链接进行分类。
如果您是那种在博客文章中链接到许多不同来源(内部和外部)的博主,您会发现链接类别分类法非常有用。
4. Post_Format 分类法
post_format 分类法允许您根据类型(视频、音频、标准等)对帖子进行分类。
您将在 WordPress 可视化编辑器旁边直接看到此面板。
WordPress 分类模板
当网站访问者单击指向标签、类别或自定义分类法的超链接时,WordPress 将显示按时间倒序排列的帖子页面,并按该特定分类法进行过滤。
默认情况下,显示页面是使用您的 index.php 模板文件生成的。 这意味着您可以创建一个可选的模板文件,该文件将优化和覆盖 index.php 模板文件。
在这里,我们将解释如何创建和使用这些分类模板。
分类模板层次结构
模板层次结构是 WordPress 用来确定它显示帖子的顺序的。
category.php、taxonomy.php 和 tag.php 模板允许通过分类法过滤的帖子与未过滤的帖子或使用不同分类法过滤的帖子不同。
请记住,“帖子”是指任何帖子类型,例如页面、自定义帖子类型或帖子。 基本上,它们是允许您定位特定 WordPress 分类法或分类法术语的文件。
这些分类模板文件的示例是:
- 分类法-{taxonomy}-{term}.php
- 分类法-{taxonomy}.php
- 标签-{slug}.php
- 标签-{id}.php
- 类别-{slug}.php
- 类别-{ID}.php
这可以特别允许您在页面上以与在其他类别中过滤的帖子不同的外观设置名为“新闻”的动物分类法中的所有帖子的格式。
archive.php 分类模板将提供最通用的控制形式。 它为您的所有档案提供了特定的布局。 该页面显示您的帖子列表。
类别层次结构
当涉及到类别时,WordPress 会查看 category-{slug}.php 文件。 如果没有,WordPress 会尝试为下一个连续层次级别查找文件,即 category-{ID}.php,依此类推。
当 WordPress 没有找到 archive.php 模板文件或其他专用模板时,它会利用 index.php 自动恢复其默认行为。
类别层次结构如下所示:
1. category-{slug}.php:例如,如果一个类别的slug 被命名为“pepperoni”,WordPress 将寻找一个名为category-pepperoni.php 的文件。
2. category-{ID}.php:例如,如果您的类别ID 为“8”,WordPress 将查找名为category-9.php 的文件。
3. 类别.php
4.存档.php
5. index.php
标签层次结构
使用标签,WordPress 将查找特定的标签-{slug}.php 文件。 如果 WordPress 找不到它,它会在下一个层次级别中查找所需的文件,即 tag-{ID}.php 等。
当 WordPress 没有找到任何 archive.php 模板文件或专用模板时,它会使用 index.php 恢复其默认行为。
标签层次结构如下所示:
1. tag-{slug}.php:例如,如果标签的 slug 被称为“drpepper”,WordPress 会查找名为 tag.drpepper.php 的文件。
2. tag-{id}.php:例如,如果您的标签 ID 是“3”,WordPress 会查找名为 tag-3.php 的文件。
3.标签.php
4.存档.php
5. index.php
自定义分类层次结构
自定义分类层次结构与上面讨论的标签和类别层次结构非常相似。
WordPress 将首先查找 taxonomy-{taxonomy}-{term}.php。 如果没有找到,它将查找层次结构中的下一行文件,即taxonomy-{taxonomy}.php,依此类推。
当 WordPress 没有找到任何 archive.php 模板文件或专用模板时,它会使用 index.php 恢复其默认行为。
自定义分类层次结构如下:
1. taxonomy-{taxonomy}-{term}.php:例如,如果您的分类法称为“taxes”,而同一个分类法的术语是“statelevel”,WordPress 会查找名为 taxonomy-taxes-statelevel.php 的文件.
2. taxonomy-{taxonomy}.php:例如,当分类法被称为“taxes”时,WordPress 会查找名为 taxonomy-taxes.php 的文件。
3. 分类法.php
4.存档.php
5. index.php
如何创建分类模板文件
在您决定要使用分类法为您的内容创建自定义设计后,您从哪里开始?
最好不要从空白文件开始。 相反,如果它存在,只需复制层次结构中的下一个文件。
假设已经创建了一个 archive.php,创建一个副本并将其命名为 category.php。 然后修改该文件以满足您的特定设计目标和需求。
如果您还没有archive.php 文件,您可以使用主题中的index.php 文件,复制它,并将其用作您的起点。
创建任何分类模板文件时,您可以遵循相同的步骤。 只需使用 category.php、index.php、tag.php 或 archive.php 的副本作为起点。
如何将文本添加到您的类别页面
如果您想将文本添加到您的类别页面,您可以通过多种方式进行操作。
帖子上方的静态文本
当您希望在类别页面上的帖子列表之前显示静态文本(对于所有类别中的所有帖子始终保持相同的文本)时,您将使用此方法。
打开文件。 在模板文件的循环部分上方,只需插入以下代码:
<p> 这是将显示在“类别”页面顶部的一些文本。 </p>
该文本只会显示在显示该特定类别中的帖子的存档页面上。
如何在某些类别页面上放置不同的文本
如果您希望根据访问者使用的特定类别页面显示不同的文本,请考虑将一些默认文本直接添加到您的主 category.php 文件中。
然后,您可以创建一些独特的 category-{slug}.php 文件,每个文件都有自己的文本版本。 问题是这会创建很多主题文件。
为了解决这个问题,请使用条件标签。
在 The Loop 之后将再次添加以下代码:
<?php if (is_category('Category A')) : ?> <p>这是描述A类的文字</p> <?php elseif (is_category('Category B')) : ?> <p>这是描述B类的文字</p> <?php 其他:?> <p>这是一些描述所有其他类别页面的通用文本, 我可以留空</p> <?php endif; ?>
此代码将:

- 检查用户是否请求了类别 A。如果有,它将显示文本的第一部分
- 检查类别 B 是不是站点访问者没有对类别 A 提出请求。如果他们这样做了,它将显示文本的第二部分
- 如果既没有请求 A 也没有请求 B 则显示默认文本
你已经准备好了。
如何仅在存档的第一页上显示文本
如果您有太多帖子无法放在一个存档页面上,则该类别将拆分为多个页面。 在这种情况下,您可能希望在结果的第一页上为用户显示静态文本。
为此,您需要使用 PHP “if”语句来查找 $paged WordPress 变量的值。
这是您要粘贴在循环上方的内容:
<?php if ( $paged < 2 ) : ?> <p>类别存档第一页的文本。</p> <?php 其他:?> <?php endif; ?>
通过使用它,代码将询问显示的页面是否是存档的第一个页面。 当它是时,将显示专用于第一页的文本。
如果没有,将显示下一页的文本。
自定义 WordPress 分类法
如果您查看 WordPress 可视化编辑器的右侧,您会看到标签“类别”和“标签”。 但是,例如,如果您想拥有自己的自定义分类法,上面写着“艺术家”,该怎么办?
这就是自定义 WordPress 分类法发挥作用的地方。 此功能允许您自定义所有分类法,以完全满足您的开发要求。
例如,考虑一个小型邻里餐厅的 WordPress 网站。 与其拥有一个称为“类别”的广义分类法,不如拥有一个写着“开胃菜”和“主菜”的自定义分类法吗?
然后,每个自定义分类法可以进一步细分为子类别,例如“披萨”和“意大利面”。
相同的概念适用于标签分类法。 您可以为诸如“Supreme”或“Lighter Fare”之类的东西添加标签。
创建自定义 WordPress 分类法
可以通过两种不同的方式创建自定义 WordPress 分类法。 它们可以通过直接编码或使用几个不同的 WordPress 插件创建。
使用插件创建自定义 WordPress 分类法
到目前为止,使用插件是创建自定义 WordPress 分类法的最简单方法。 事实上,你根本不需要太多的技术技能来做到这一点。
用于创建自定义 WordPress 分类法的最佳插件是 Pods 和自定义帖子类型 UI。
我们将使用自定义帖子类型 UI 插件来演练如何创建自定义 WordPress 分类法。
- 下载、安装然后激活自定义帖子类型 UI WordPress 插件。
- 导航到 CTP UI > 添加/编辑分类法
- 在框中填写您要使用的 WordPress 分类法名称。 在这种情况下,假设我们使用“艺术家”作为我们的类别。
- 选择要应用新 WordPress 分类法的帖子类型。
- 单击底部附近的“添加分类法”按钮。
- 现在,导航到 Posts > Add New,您将在可视化编辑器旁边看到新的 WordPress 分类法。
您可能会注意到您的新分类法是一个名为“艺术家”的标签。 但是如果你想创建一个类别而不是一个标签呢? 答案比你想象的要简单。
您需要做的就是向下滚动一点并将“Hierarchical”更改为“True”。 您的自定义分类现在是一个类别而不是标签。
通过向functions.php添加代码来创建自定义WordPress分类
如果您不熟悉或不习惯使用代码,那么在创建自定义 WordPress 分类法时坚持使用插件可能是个好主意。 但是,如果您是那种喜欢弄脏他们的虚拟手的人,这将向您展示如何将正确的代码添加到您站点的functions.php 文件中。
作为高级 WordPress 用户,您只需将几行代码添加到 WordPress 主题目录中的 WordPress functions.php 文件中。
请注意,非分层分类法的代码将与分层分类法不同。
在执行此过程之前,请确保您正在运行 WordPress 备份插件,如果过程中有任何中断,您可以立即恢复您的站点。
当您使用它时,现在是考虑在您的站点上运行的 WordPress 安全插件的好时机。
随着全球主要的安全黑客和漏洞正在发生,确保您使用最好的工具来确保您的 WordPress 网站安全非常重要。 iThemes Security 为您提供保障。
现在,分层分类法和非分层分类法所需的代码示例如下所示。
分层分类法(类别):示例代码
//钩入init动作并在它触发时调用create_book_taxonomies add_action('init', 'create_topics_hierarchical_taxonomy', 0); //为您的帖子创建一个自定义分类法,将其命名为主题 函数 create_topics_hierarchical_taxonomy() { // 添加新的分类法,使其像类别一样分层 //首先做GUI的翻译部分 $标签=数组( 'name' =_x( 'Topics', '分类通用名称'), 'singular_name' =_x( 'Topic', '分类单数名称'), 'search_items' =__( '搜索主题' ), 'all_items' =__( '所有主题' ), 'parent_item' =__( '父主题'), 'parent_item_colon' =__( '父主题:' ), 'edit_item' =__( '编辑主题' ), 'update_item' =__( '更新主题'), 'add_new_item' =__( '添加新主题' ), 'new_item_name' =__( '新主题名称' ), 'menu_name' =__( '主题' ), ); // 现在注册分类法 register_taxonomy('topics',array('post'), array( '分层' =真, '标签' =$标签, 'show_ui' =真, 'show_admin_column' = 真, 'query_var' =真, 'rewrite' =array( 'slug' = 'topic' ), )); }
非分层分类法(标签):示例代码
//钩入init动作并在它触发时调用create_book_taxonomies add_action('init', 'create_topics_hierarchical_taxonomy', 0); //为您的帖子创建一个自定义分类法,将其命名为主题 函数 create_topics_hierarchical_taxonomy() { // 添加新的分类法,使其像类别一样分层 //首先做GUI的翻译部分 $标签=数组( 'name' =_x( 'Topics', '分类通用名称'), 'singular_name' =_x( 'Topic', '分类单数名称'), 'search_items' =__( '搜索主题' ), 'all_items' =__( '所有主题' ), 'parent_item' =__( '父主题'), 'parent_item_colon' =__( '父主题:' ), 'edit_item' =__( '编辑主题' ), 'update_item' =__( '更新主题'), 'add_new_item' =__( '添加新主题' ), 'new_item_name' =__( '新主题名称' ), 'menu_name' =__( '主题' ), ); // 现在注册分类法 register_taxonomy('topics',array('post'), array( '分层' =真, '标签' =$标签, 'show_ui' =真, 'show_admin_column' = 真, 'query_var' =真, 'rewrite' =array( 'slug' = 'topic' ), )); }
然后,当您希望在 WordPress 可视化编辑器中显示新分类时,从编辑器中打开 single.php 并复制以下代码:
the_terms( $post-ID, 'topics', 'Topics: ', ', ', ' ' );
如果整个过程正确完成,您现在将在可视化编辑器中看到一个名为“主题”的新分类法。
总结:了解 WordPress 分类法
正如我们所知,WordPress 分类法是您用来对 WordPress 网站上的内容进行分组的方法。 分类法可以用作广泛内容主题的类别,以及这些主题中较小细节的标签。
您还可以通过使用一些特定的 WordPress 插件或通过向 functions.php 文件添加代码来创建自定义分类法。
当您以正确的方式使用 WordPress 分类策略时,它将提升您网站的用户体验和整体性能。
自 2011 年以来,Kristen 一直在编写教程来帮助 WordPress 用户。您通常可以找到她为 iThemes 博客撰写新文章或为 #WPprosper 开发资源。 工作之余,克里斯汀喜欢写日记(她写了两本书!)、远足和露营、烹饪以及与家人一起进行日常冒险,希望过上更现代的生活。
