如何创建和使用 WordPress 自定义字段
已发表: 2020-04-23WordPress 的主要优势之一是其多功能性,这得益于其内置的可扩展性功能。 在它提供的不同扩展公式中,我们找到了自定义字段:
WordPress 能够允许帖子作者为帖子分配自定义字段。 这种任意的额外信息称为元数据。
元数据由键/值对处理。 键是元数据元素的名称。 该值是将出现在与该信息相关联的每个单独帖子的元数据列表中的信息。
WordPress.org 文档
例如,如果我们想创建有关与汽车世界相关的概念的元数据,我们将拥有以下内容:
- 品牌:福特
- 型号: 焦点
- 颜色: 白色
- 功率:110马力
- 等等
在今天的文章中,我将向您展示如何创建自定义字段、如何使用它们,以及它们如何帮助您作为 WordPress 用户和/或开发人员。 请注意,您需要对如何在 WordPress 中进行编码有一些基本的了解……但我希望您能够轻松地阅读这篇文章,尤其是当我向您展示如何使用一个出色的插件来处理自定义字段时:高级自定义字段。
WordPress 自定义字段如何工作
了解自定义字段是什么以及它们如何工作的最佳方法是查看 WordPress 数据库。 您可能已经知道,每次您在 WordPress 中创建帖子、页面或(几乎)任何其他类型的内容时,这些新内容都会存储在名为wp_posts的表中(前缀可以更改)。
数据库中的表就像您以前使用过的任何其他表一样。 基本上,它们有一组定义“您可以存储的内容”的列和包含特定信息的行。 在wp_posts的情况下,列是标题、内容、作者、出版日期等内容。 老实说,没什么特别的:

wp_posts表。使用表的“问题”之一是您可以在其中存储的信息仅限于它们拥有的列。 如果您想存储有关新概念的信息,您将无法存储。 那么,如果表已设置,您如何创建自定义字段? 好吧,很简单,你只需要一张为它设计的新桌子。
在每个 WordPress 数据库中,都有另一个名为wp_postmeta的表,如下所示:

wp_postmeta表。 正如您在前面的屏幕截图中看到的那样,元数据表的设计方式是我们可以使用meta_key和meta_value列创建键/值对,并使用post_id列将每个对与特定内容相关联。 够简单!
所以让我们仔细看看我们如何使用这张桌子!
如何创建新的自定义字段
正如我们已经看到的,自定义字段总是与特定的帖子相关联。 因此,您会期望编辑器中有某种用户界面,用于编辑它们,对吧? 不幸的是,如果你看看古腾堡,没有任何……
为了在 WordPress 编辑器中编辑自定义字段,您必须启用高级面板。 只需单击编辑器中的右上角图标,然后单击选项:

这将打开一个新窗口,其中包含古腾堡中可用的不同面板。 找到一个名为Custom Fields并启用它:

启用后,您可以轻松创建和编辑帖子的自定义字段:

这个简单的界面允许我们创建任意数量的键/值对。 例如,在上面的屏幕截图中,您会看到我如何添加了我在本文开头介绍的一些字段: nelio_brand 、 nelio_model 、 nelio_color和nelio_hp 。

如何使用自定义字段
要使用自定义字段,您需要三件事:(a)帖子的标识符,(b)您要使用的字段的名称,以及(c)决定您要在哪里使用它。 例如,假设我想在帖子末尾显示我们在上面示例中创建的nelio_brand字段。 要检索它的值,我们可以使用一个名为get_post_meta的函数,如下所示:
function nelio_add_brand_field( $content ) { $brand = get_post_meta( get_the_ID(), 'nelio_brand', true ); return "{$content}\n<p><strong>Brand:<strong> {$brand}</p>"; } add_filter( 'the_content', 'nelio_add_brand_field' );请注意,在前面的示例中,我们解决了我之前提到的三件事:
-
get_post_meta的第一个参数正是我感兴趣的帖子的标识符。在这种情况下,我们使用get_the_ID(),它返回当前帖子的 ID。 - 第二个参数是我们的元字段的名称(在本例中为
nelio_brand)。 - 最后,我们在前端使用元字段,作为我们希望在帖子内容的最后显示的内容。 你可以知道,因为我在
the_content过滤器中检索和使用它。
这样做的结果类似于您在以下屏幕截图中看到的内容:

但这只是一个例子,当然! 除了“在前端打印一些东西”之外,您还可以通过多种方式使用自定义字段。 例如,Nelio A/B 测试是我们创建的插件之一,它旨在在 WordPress 站点中运行拆分测试。 A/B 测试需要创建替代内容,我们的插件使用自定义字段来标记替代内容,并限制访问者访问该内容的方式和时间。
管理自定义字段的 WordPress 功能
与我们有一种方法来检索自定义字段 ( get_post_meta ) 的值一样,WordPress 也有其他方法可以以编程方式创建、更新和删除自定义字段: add_post_meta 、 update_post_meta和delete_post_meta 。 这些功能按您的预期工作,所以我不会用更多的解释来打扰您……
什么是高级自定义字段以及如何使用
既然您知道了自定义字段在 WordPress 中的工作原理,我想我已经可以告诉您一个好消息:有几个插件可以大大简化使用自定义字段的过程!
在 WordPress 网站中创建元数据的最著名和评价最高的插件之一是高级自定义字段。 有了它,您不仅能够以更简单的方式定义自定义字段,而且您还可以享受改进的用户界面来处理这些字段。 这个界面确保您设置的值有意义并且在语义上有意义:日期、图像、画廊、范围、数字……您可以命名它!

如果您想了解有关 ACF 的更多信息,这里有大量资源。 但我认为 Jo Minney 的这次演讲真的可以让你开始:
希望这个关于自定义字段的小介绍能帮助您成为更好的 WordPress 开发人员!
Polina Rytova 在 Unsplash 上的特色图片。
