使用免费插件为您的 WordPress 类别超级充电
已发表: 2022-02-16最近我正在考虑制作旅游网站的过程。 我们会有关于特定度假村的博客文章,然后是一个名为“目的地”的自定义分类法,其中包含“夏威夷”和“加那利群岛”之类的内容。 WordPress 就是为这类事情而构建的,因此按这些目的地对帖子进行排序和组织既快速又简单。
问题是,例如,当我转到有关夏威夷的帖子的存档页面时,我们对夏威夷信息的选择非常有限。 默认情况下,术语只能有名称、纯文本描述、Slug 和相关的父项。
我真正想要的是特色图片、自定义字段和动态描述字段。 如果我将 Destinations 设置为自定义帖子类型,我可以获得所有这些东西,但是我将打破美妙的内置关系、用户界面和分类的速度。
幸运的是,我们可以获得分类术语的所有这些东西,而且我们可以使用免费插件来做到这一点。 就是这样。
特色图片
我想要一张特色图片,以便我可以在我的学期页面顶部呈现它。 带有夏威夷术语的帖子将在顶部获得美丽的海滩场景。
为此,我们将使用插件“Simple Featured Image”。 它已经有一段时间没有更新了,但它仍然很好用。
SFI 在“设置”菜单下创建一个设置页面,您可以在其中设置您希望它出现的分类。 不要忘记这一点,否则你会对如何使用它感到非常困惑!
安装并激活后,在新条款和现有条款的表单上,您将看到如下字段:
当您单击上传/添加按钮时,它会打开正常的 WordPress 媒体库用户界面并设置特色图像,就像使用帖子一样。
选择图像后,它看起来像这样:
然后在术语列表管理页面上,您会看到如下内容:
然后我们有一张特色图片!
动态描述
术语的描述字段是纯文本,只要您不想要更有趣的东西,这还不错。 我喜欢添加 TinyMCE 编辑器,它曾经是 WordPress 中的默认设置。 为此,我们将使用插件“Visual Term Description Editor”。
重要提示:Yoast SEO 插件也启用了此功能。 如果您已经在使用 Yoast,则不需要这个。 如果您不使用 Yoast,请不要仅为此功能安装它。
这个插件没有设置,它只是让所有分类法中的所有术语描述都有 TinyMCE 编辑器。 它看起来像这样:
然后主术语列表管理页面看起来像这样:
所以现在我们有了一张特色图片和更好的描述,但我还想要一些自定义字段。 我们将这样做。
自定义字段
术语 Meta 作为 WordPress 的一项功能已经存在了很长一段时间,但使用它们仍然有点麻烦。 Smashing Magazine 上有一篇精彩的文章,介绍了如何使用代码自己构建它们。
您还可以使用大多数常见的自定义字段库,如 MetaBox.io 和 CMB2,仍然可以使用代码进行操作,但要以流畅、标准化的方式进行。
对于这篇文章,我们将选择最简单的方法,即高级自定义字段。 我们正在使用 WordPress.org 上的免费版本。 专业版显然也可以。
如果您已经熟悉 ACF,要在条款上获取自定义字段,您的位置应如下所示:
我添加了一个名为 Destination Details 的字段组,其中包含一个标准的“URL”类型字段,如下所示:
在术语编辑器中,它看起来像这样:
更多自定义字段
我没有为我的示例添加更多内容,但我敢肯定,如果您熟悉 ACF 或任何其他自定义字段管理器,您可以想象它的强大功能。 以下是您可以添加的其他一些自定义字段示例:
- 坐标字段,以便您可以呈现 Google 地图
- 一个实际的地图字段,您只需单击即可获取坐标
- 有关目的地的元信息,例如人口、道路质量、国际机场通道、重要的文化细节等。
只要你能想象到,这个清单就会继续下去。
使用此信息
既然您的分类术语是信息的发电站,那么您如何在您的网站上看到这些信息?
制作模板文件
对于这个,您将创建和编辑一个模板文件。 大多数现代主题都有一个名为archive.php的文件,这是呈现您的 Post 存档的文件。 一些主题还有一个名为category.php的文件,该文件用于显示特定类别的帖子存档。

如果您已将上述所有字段添加到与帖子关联的默认类别分类法中,您将需要在category.php中执行此操作。 如果不存在,您可以将archive.php复制到category.php 。
如果您像我一样使用自定义分类法,您需要将category.php或archive.php复制到taxonomy-{taxonomy}.php ,其中 {taxonomy} 是您的分类法。 您可以通过转到分类管理页面并查看 URL 来找到 slug。 我做了一个 Destinations 分类,但我的 slug 是travel_destination ,看起来像这样:
所以我的模板文件叫做taxonomy-travel_destination.php 。
获取信息
特色图片
我们使用的插件有一个自定义函数来获取图像。 您可以使用此 php 函数在前端显示分类特色图像。
wpsfi_display_image( $termID, $size = 'medium', $class = '', $width = '', $height = '' );
wpsfi_display_image( $termID, $size = 'medium', $class = '', $width = '', $height = '' );
参数:
- $termID –(整数)分类术语 ID
- $size - (字符串)图像大小
- $class - (String) 添加自定义类
- $width - (整数)以 px 为单位的宽度
- $height - (整数)高度(以 px 为单位)
描述
我们并没有真正改变描述的工作方式,只改变了我们可以在表单中输入的内容。 因此,默认的 WordPress 函数可以打印描述。
get_the_archive_description() 将获取描述并允许您将其放入变量中,或使用清理功能或其他方式对其进行处理。 然后你会像这样打印那个变量:
$description = get_the_archive_description(); print wp_kses_post( $description );
$description = get_the_archive_description(); print wp_kses_post( $description );
或者,您可以简单地使用the_archive_description()它将为您回显内容。
自定义字段
如何获取自定义字段取决于您如何创建它们。 如果您按照 Smashing Magazine 文章中的说明制作了自己的插件,您将需要使用一个名为get_term_meta()的 WordPress 函数,它的工作原理与get_post_meta()完全相同。 你传递一个 TermID、你想要的字段的键和一个标志来显示它是单数还是复数。
如果您使用 ACF、Metabox.io 或 CMB2 之类的库,您可能希望使用它们的自定义函数来获取数据。
例如,我们使用 ACF 制作了一个名为 more_information 的字段。 要获取该字段的内容,您将使用如下内容:
// get the current taxonomy term $term = get_queried_object(); // var $term_url = get_field( 'more_information', $term ); // make a link echo '<a href="' . esc_url( $term_url ) . '">More Information</a>';
// get the current taxonomy term $term = get_queried_object(); // var $term_url = get_field( 'more_information', $term ); // make a link echo '<a href="' . esc_url( $term_url ) . '">More Information</a>';
CMB2 和 Metabox.io 都有自己的方法,您需要在他们的文档中研究这些方法。
概括
所以现在在我想象中的旅游网站中,每个地点,比如夏威夷,顶部都会有一个漂亮的横幅,关于目的地的信息,还有一些额外的信息,比如获取更多信息的链接,以及我想放的任何其他信息在。
这会将您的存档页面从简单的帖子列表变成看起来像精心设计的网页的东西。