创建自定义文章类型和分类法


文字稿

简介

在本课中,我们将探索自定义文章类型。本节课结束时,您应该能够描述 WordPress 自定义文章类型,了解为什么可能需要使用自定义文章类型,创建自定义文章类型,并了解如何在您的网站上显示自定义文章类型的内容。那么,什么是自定义文章类型?您在 WordPress 网站上创建的内容会以页面、文章和分类法(例如分类目录和标签)的形式存储在数据库中。此外,您还可以创建自定义文章类型和分类法,以满足您的特定需求。

自定义文章类型

有时,您的网站可能需要某种自定义内容,以便高效地输入和显示内容。因此,在创建不同于标准页面或文章格式的内容时,自定义文章类型非常有用。例如,如果您是设计师或摄影师,可能希望创建一个作品集文章类型来展示您的作品。使用自定义文章类型的网站还有哪些例子?最受欢迎的电子商务插件之一是 WooCommerce。通过 WooCommerce 输入并显示的产品会注册为自定义文章类型,而产品分类目录则是自定义分类法。其他适合使用自定义文章类型的例子包括书籍、书评、团队成员、作品集项目、俱乐部、课程、课时和食谱;可以应用的场景不胜枚举。

那么,在您的网站上建立自定义文章类型的最佳方式是什么?一般来说,您可以自行编写代码。您可以在开发者学习路径中查看相关的自定义文章类型课程;如果您不是开发者,也可以使用现成的插件来为您设置自定义文章类型。本课将重点介绍后一种方式。不过在继续之前,值得一提的是,开发者手册建议将自定义文章类型放在插件中,而不是主题中。这样可以确保即使更换主题,用户内容仍然具有可移植性。

创建自定义文章类型

目前,能够生成自定义文章类型的热门插件是 Custom Post Type UI 和 Advanced Custom Fields(简称 ACF)。您还可以在插件目录中搜索自定义文章类型,以查找其他选项。在本演示中,我们选择使用 Custom Post Type UI 插件。首先安装并启用 CPT UI 插件。然后,您会在仪表盘中看到一个新的菜单项;在本例中,它位于左侧菜单栏底部。选择“添加/编辑文章类型”并开始操作。

我们将在一个徒步旅行网站上设置自定义文章类型,用于显示附近可以攀登的山峰,并按照海拔和攀登难度对它们进行分类。首先,需要通过指定别名(即 mountain)、单数标签 mountain 和复数标签 mountains 来命名自定义文章类型。之后,系统会提供一长串与新自定义文章类型相关的标签。页面上有一个链接,可以根据您的自定义文章类型别名自动填充标签。点击该选项可以节省时间,然后滚动浏览这份长列表,查看是否需要修改任何默认标签。例如,默认的“菜单名称”标签会在标签前加上“my”一词。我更愿意将其删除。

接下来,我们可以滚动到所有标签下方的设置区域。这里的设置包括:自定义文章类型是否对公众可用、是否可以被搜索或显示在导航菜单中、它在仪表盘菜单列表中的位置,甚至菜单项旁显示的图标。您还可以指定自定义文章类型编辑页面支持哪些部分,例如特色图片、摘要、作者等。

所有设置项都有默认值。您需要修改“具有归档”设置。将其设为 true,以启用归档页面。如果您认为将来可能需要导出该自定义文章类型,也可以将对应选项设为 true。在最底部,您会看到要分配给自定义文章类型的分类法。显示的两个分类法是 WordPress 默认的分类目录和标签。我们将设置自定义分类法,因此不应选中默认分类目录和标签。完成这些步骤并保存设置后,一个新的自定义文章类型就会出现在 WordPress 仪表盘左侧菜单中,与文章和页面菜单项并列。

自定义分类法

现在,您可以指定有助于更高效地对新自定义文章类型条目进行分类的自定义分类法。在本例中,我们将使用名为 height 和 climb rating 的自定义分类法来对山峰进行分类。海拔和攀登能力将作为自定义文章类型的分类目录。我们将创建多个海拔范围,以便对山峰进行分段。对于 climb rating 分类法,也会采用相同的流程,设置不同的攀登难度等级。首先,选择左下角菜单区域中的“添加/编辑分类法”。

然后,我们可以按照建立自定义文章类型的相同方式设置分类法。在第一个示例中,我会将分类法别名命名为 height,复数标签命名为 heights,单数标签命名为 height。我还会选择自动填充标签。接下来,我会选择 mountain 自定义文章类型作为该分类法适用的文章类型。在设置部分,您可能需要修改两个默认设置。第一个是“分层”。如果希望分类法显示在文章类型编辑页面上,应将其设为 true。另一个设置称为“在快速编辑或批量编辑面板中显示”,将其设为 true 后,您就可以通过快速编辑菜单选项更改特定山峰的分类法设置。接下来,我们可以对 climb rating 分类法重复相同的流程。

建立分类法后,在本例中即 height 和 climb rating,您必须编辑 mountain 自定义文章类型。因此,我们将返回“添加/编辑文章类型”,选择 mountain 自定义文章类型,然后滚动到设置部分的底部。现在,您会看到列出的 height 和 climbing rating 分类法。勾选它们旁边的复选框,再次保存自定义文章类型,以便将这些分类法关联到该特定自定义文章类型。设置好自定义文章类型及其分类法后,就可以开始填充内容了。在仪表盘中选择自定义文章类型后,您可以打开其中一个分类法。在本例中,我们打开 height,然后添加第一个分类:海拔低于海平面以上 3000 英尺的山峰。接下来,我们可以继续添加该分类法的其他分类,从海拔低于 3000 英尺的山峰一直到海拔高于 12000 英尺的山峰。然后,我们可以对另一个分类法 climb ratings 完全重复相同的操作。在本例中,我添加了初级、中级和高级三个分类。

自定义文章类型条目

现在分类法已经设置完成,我们可以创建一些自定义文章类型条目。在本例中,您需要输入具体的山峰,并选择它们所属的分类法。现在,让我们创建第一个自定义文章类型条目。我会将其命名为 first mountain,并添加一些示例内容。在侧边栏设置中,我们可以应用相关分类法。在本例中,这座山的海拔低于 3000 英尺,适合初学者。我们还会添加摘要以及文章特色图片。然后点击“发布”。接下来,我会为 mountains 自定义文章类型再创建两个条目,分别是 second mountain 和 third mountain。现在,您已经输入了山峰文章类型,并根据海拔和攀登难度对它们进行了分组,就可以为网站访客提供查看山峰列表的方式,既可以查看全部内容,也可以按分类法显示。

显示您的自定义文章类型

首先,我们要创建一个新页面,用于显示 mountain 自定义文章类型的归档。您可以按自己的需要命名页面。在本例中,我们将其命名为 mountains,然后保存。打开页面列表,选择“快速编辑”以显示页面标题及其别名。将别名修改为与自定义文章类型的别名一致。在本例中,该别名是 mountain,然后保存更改。为了看到这个页面,我们需要将其添加到网站标题模板部分的菜单中。打开站点编辑器并选择“导航”,然后点击“编辑”。打开列表视图,选择导航区块,添加新的菜单项,并选择名为 Mountains 的页面。然后,我会在右侧边栏中选择 Mountains,点击三个竖直点,添加一个子菜单链接,并输入 height。正如您所看到的,没有名为 height 的页面。我只想将 height 用作显示分类的占位符。因此,我还会添加 climbing rating 作为占位符。为了确保它只是占位符,选择菜单项(本例中为 height),打开侧边栏设置,然后在 URL 下方添加两个井号,以确保它不可点击,而只是一个占位符。对于 climb rating,我们也会执行相同的操作:添加子菜单链接作为占位符,然后在 URL 下方添加两个井号。

然后,我们可以将分类作为子页面添加到这些占位符下。现在,让我们选择 Height,点击三个竖直点,再点击“添加子菜单链接”。我们将搜索第一个分类 less than 3000 feet,然后选择该分类法。接下来,我们可以继续为 height 和 climbing ratings 添加分类。现在,让我们从前端查看效果。点击 Mountains 后,我们会看到所有自定义文章类型条目:Mountain one、two 和 three。然后,我们可以选择其中一个分类,在本例中是 mountains less than 3000 feet。对于 climbing ratings,我们可以查看适合中级徒步者的山峰。

模板

最后要讨论的是模板。我们看到的所有这些页面都使用 All Archives 模板显示。但如果您希望某个页面拥有不同的外观和布局,该怎么办?进入站点编辑器并点击“管理所有模板”后,我们可以点击右上角的“添加新模板”。然后,您会看到几个选项。您可以添加 archive mountain 模板,它将显示所有山峰条目;也可以选择 single item mountain 模板,以更改单个条目的显示方式。最后,您还可以修改分类法的显示方式,包括所有分类法或单个分类法(在本例中即分类)。

结论

您可以在 learn.wordpress.org 上的其他课程中进一步了解 WordPress 模板、模板的使用和修改。祝您在网站上创建和设置自定义文章类型一切顺利。

实践

使用 WordPress Playground 重现视频中的示例,或者创建您自己的自定义文章类型来检验所学知识: