如何在WordPress中创建自定义分类法

12/21/2023

什么是WordPress分类法?

WordPress分类法是一种组织帖子和自定义帖子类型的方式。默认情况下,WordPress带有两种分类法,即分类和标签。你可以使用它们来组织博客文章。然而,如果你使用自定义帖子类型,那么分类和标签可能并不适合所有内容。

例如,你可以创建一个名为“书籍”的自定义帖子类型,并使用一个名为“主题”的自定义分类法来对其进行排序。你可以添加冒险、浪漫、恐怖等主题术语。这将使你和你的读者可以轻松地按每个主题排序和筛选书籍。

分类法还可以是分层的,这意味着你可以拥有主要或父主题,如小说和非小说。然后你可以在每个主题下拥有子主题。例如,父主题“小说”可以有冒险、浪漫和恐怖作为子主题。

现在你知道了自定义分类法是什么,让我们学习如何在WordPress中创建自定义分类法。

使用插件创建自定义分类法(简便方式)

首先,你需要安装并激活Custom Post Type UI插件。有关详细信息,请参阅我们的指南。

在本教程中,我们已经创建了一个名为“书籍”的自定义帖子类型。所以在创建分类法之前,请确保你已创建了自定义帖子类型。

接下来,转到WordPress管理区的CPT UI » 添加/编辑分类法菜单项,以创建你的第一个分类法。

在此屏幕上,你需要执行以下操作:

  • 创建分类法的别名(它将出现在你的URL中)
  • 创建复数标签
  • 创建单数标签
  • 自动填充标签

你的第一步是为分类法创建一个别名。这个别名将用于URL和WordPress搜索查询。它只能包含字母和数字,并且它将自动转换为小写字母。

接下来,你将填写自定义分类法的复数和单数名称。然后,你可以点击“根据所选标签填充其他标签”链接。如果这样做,插件将自动填写其余的标签字段。

然后,滚动到“附加标签”部分。在此区域,你可以提供帖子类型的描述。这些标签将在编辑和管理该特定自定义分类法的内容时在WordPress仪表盘中使用。

接下来是设置选项。在这个区域,你可以为每个创建的分类法设置不同的属性。每个选项都有描述,详细说明它的作用。

在上面的截图中,你可以看到我们选择了使这个分类法具有层次结构。这意味着我们的分类法“主题”可以有子主题。例如,一个名为“小说”的主题可以有幻想、惊悚、神秘等子主题。

你的屏幕上还有许多其他设置,但在本教程中,你可以按原样保留它们。现在,你可以点击底部的“添加分类法”按钮,以保存你的自定义分类法。

之后,进入WordPress内容编辑器,编辑与此分类法关联的帖子类型,以开始使用该分类法。

手动创建自定义分类法(代码方式)

这种方法需要你向WordPress网站添加代码。如果你以前没有这样做过,我们建议阅读我们的指南,了解如何轻松地在WordPress中添加代码片段。

我们不建议直接编辑WordPress文件,因为任何小错误都可能破坏整个站点。因此,我们建议所有人使用WPCode,这是最简单和最安全的代码片段插件。

首先,你需要安装并激活免费的WPCode插件。详细说明请参阅我们的逐步指南。

创建具有层次结构的分类法

让我们从一个像分类一样工作并可以有父子项的层次分类法开始。安装并激活WPCode后,你可以进入WordPress仪表盘中的“代码片段” » “添加片段”导航。将鼠标悬停在“添加你的自定义代码(新片段)”并点击“使用片段”。

接下来,你将进入“创建自定义片段”页面。只需给你的新代码片段命名,并将以下代码粘贴到文本区域中:

// 钩住init操作,并在触发时调用create_subjects_hierarchical_taxonomy

add_action( 'init', 'create_subjects_hierarchical_taxonomy', 0 );

// 为你的帖子创建一个名为subjects的自定义分类法

function create_subjects_hierarchical_taxonomy() {

// 添加新的分类法,使其具有层次结构
// 首先执行GUI的翻译部分

  $labels = array(
    'name' => _x( 'Subjects', 'taxonomy general name' ),
    'singular_name' => _x( 'Subject', 'taxonomy singular name' ),
    'search_items' =>  __( 'Search Subjects' ),
    'all_items' => __( 'All Subjects' ),
    'parent_item' => __( 'Parent Subject' ),
    'parent_item_colon' => __( 'Parent Subject:' ),
    'edit_item' => __( 'Edit Subject' ), 
    'update_item' => __( 'Update Subject' ),
    'add_new_item' => __( 'Add New Subject' ),
    'new_item_name' => __( 'New Subject Name' ),
    'menu_name' => __( 'Subjects' ),
  );
// 现在注册分类法
  register_taxonomy('subjects',array('books'), array(
    'hierarchical' => true,
    'labels' => $labels,
    'show_ui' => true,
    'show_in_rest' => true,
    'show_admin_column' => true,
    'query_var' => true,
    'rewrite' => array( 'slug' => 'subject' ),
  ));
}

确保将代码类型更改为“PHP片段”,并将开关切换为“活动”。不要忘记将分类法名称和标签替换为你自己的分类法标签。你还会注意到此分类法与“书籍”帖子类型相关联,你需要将其更改为你想要使用的帖子类型。

接下来,向下滚动并确保在插入框中选择了“自动插入”和“运行所有地方”。完成后,你可以向上滚动并点击“更新”按钮,将更改上线。

创建无层次结构的分类法

若要创建像标签一样的无层次自定义分类法,你将使用WPCode并按照上述相同步骤进行,只是你将使用以下代码:

// 钩住init操作,并在触发时调用create_topics_nonhierarchical_taxonomy

add_action( 'init', 'create_topics_nonhierarchical_taxonomy', 0 );

function create_topics_nonhierarchical_taxonomy() {
// GUI的标签部分
  $labels = array(
    'name' => _x( 'Topics', 'taxonomy general name' ),
    'singular_name' => _x( 'Topic', 'taxonomy singular name' ),
    'search_items' =>  __( 'Search Topics' ),
    'popular_items' => __( 'Popular Topics' ),
    'all_items' => __( 'All Topics' ),
    'parent_item' => null,
    'parent_item_colon' => null,
    'edit_item' => __( 'Edit Topic' ), 
    'update_item' => __( 'Update Topic' ),
    'add_new_item' => __( 'Add New Topic' ),
    'new_item_name' => __( 'New Topic Name' ),
    'separate_items_with_commas' => __( 'Separate topics with commas' ),
    'add_or_remove_items' => __( 'Add or remove topics' ),
    'choose_from_most_used' => __( 'Choose from the most used topics' ),
    'menu_name' => __( 'Topics' ),
  ); 
// 现在注册无层次的分类法
  register_taxonomy('topics','books',array(
    'hierarchical' => false,
    'labels' => $labels,
    'show_ui' => true,
    'show_in_rest' => true,
    'show_admin_column' => true,
    'update_count_callback' => '_update_post_term_count',
    'query_var' => true,
    'rewrite' => array( 'slug' => 'topic' ),
  ));
}

注意这两个代码片段之间的区别。在register_taxonomy()函数下,层次结构参数的值对于类似分类的分类法设置为true,而对于类似标签的分类法设置为false。此外,在无层次分类法的标签数组中,我们为parent_item和parent_item_colon参数添加了null,这意味着在UI中不会显示创建父项或可以有子主题的分类法的选项。

再次确保编辑代码以包含你自己的自定义分类法标签。

显示自定义分类法

现在我们已经创建了自定义分类法,并添加了一些术语,你的WordPress主题仍然不会显示它们。要显示它们,你需要向WordPress主题或子主题添加一些代码。这段代码需要添加到你想显示术语的模板文件中。

你可以手动将此片段添加到主题文件中,例如single.php、content.php、archive.php或index.php。要了解需要编辑哪个文件,请参阅我们的WordPress模板层次结构指南。但这可能会打破你的站点,所以我们再次建议使用免费的WPCode插件。你将需要在想要显示术语的地方添加以下代码:

ID, 'topics', 'Topics: ', ', ', ' ' ); ?>

按照上述步骤将片段粘贴到WPCode中。但是在插入下,你要点击位置旁边的下拉菜单,并选择你想显示分类法的位置,例如在帖子之前、之后或甚至在段落之间。本教程中,我们将选择“在帖子之后插入”。你可以在下面的图片中看到它在你的网站上实际显示的样子。

为自定义帖子添加分类法

现在你知道如何创建自定义分类法,让我们通过一个示例来使用它们。我们将创建一个名为“非虚构”的分类法。由于我们有一个名为“书籍”的自定义帖子类型,这与创建常规博客帖子类似。在WordPress仪表板中,转到“书籍” » “主题”以添加术语或主题。

在此屏幕上,你将看到四个区域:

  • 名称
  • 别名
  • 父项
  • 描述

在名称中,你将写下要添加的术语。你可以跳过别名部分,并为这个特定术语提供描述(可选)。最后,点击“添加新主题”按钮以创建新分类。你新添加的术语将出现在右列中。

现在你有了一个新术语,可以在博客文章中使用。你还可以在编辑或编写内容时直接添加术语到该特定帖子类型下。只需转到书籍 » 添加新页面以创建帖子。在帖子编辑器中,你会找到在右列中选择或创建新术语的选项。添加术语后,你可以发布该内容。所有归档在该术语下的帖子都将在你的网站上进入它们自己的网址。例如,归档在“小说”主题下的帖子将出现在以下URL:https://example.com/subject/fiction/

将自定义分类法添加到导航菜单

现在你已经创建了自定义分类法,你可能希望在网站的导航菜单中显示它们。转到外观 » 菜单,并在屏幕左侧的自定义分类法标签下选择你想要添加的术语。不要忘记点击“保存菜单”按钮,以保存设置。你现在可以访问你的网站,查看菜单的效果。有关更多详细信息,请参阅我们的逐步指南,了解如何在WordPress中创建下拉菜单。

进一步扩展WordPress分类法

有许多事情可以用自定义分类法来完成。例如,你可以在边栏小工具中显示它们,或为每个术语添加图片图标。你还可以在WordPress中为自定义分类法启用RSS订阅功能,允许用户订阅单个术语。这样,你的读者将只会收到关于他们感兴趣的特定内容的更新。如果你想自定义自定义分类法页面的布局,可以查看SeedProd。这是一个拖放式的WordPress页面构建器和主题构建器,允许你无需编码即可创建自定义布局。

希望本文帮助你学习如何在WordPress中创建自定义分类法。你可能还想查看我们的指南,了解如何跟踪网站访问者,以及如何在不编写任何代码的情况下创建自定义WordPress主题。

如果你喜欢这篇文章,请订阅我们的YouTube频道,以获取WordPress视频教程。你还可以在Twitter和Facebook上找到我们。



Related Posts

  • 2024-08-04
  • WordPress 教学

不喜欢 WordPress 4.3 引入的格式化快捷键?觉得有点烦人?最近,有用户问我们如何在 WordPress 中禁用视觉编辑器格式化快捷键。在本文中,我们将向您展示如何做到这一点。

閱讀更多
  • 2024-07-31
  • WordPress 教学

你在 WordPress 网站上看到 503 服务不可用错误吗?503 错误是因为服务器无法处理请求,通常是由于服务器过载或维护。而这个错误不会告诉你具体原因,这对于初学者来说非常令人沮丧。本文将向你展示如何修复 WordPress 中的 503 服务不可用错误。

閱讀更多
  • 2024-07-30
  • WordPress 教学

管理一个企业需要大量的工作。如果您无法正确维护您的 WordPress 网站,可能会迅速看到流量和销售额下降的现象。幸运的是,您可以聘请虚拟助手 (VA) 来帮助管理您的网站。本文将教您如何聘请 WordPress 虚拟助手,以便您可以专注于业务中最重要的活动。

閱讀更多

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}
>