如何判断自定义域是否由ACF、Metabox.io、Carbon Fields、Customed Build等制成?

时间:2019-07-06 作者:user9664977

我正在开发一个将使用自定义字段的插件,但我很好奇是否有办法知道是哪个插件/库创建了这些自定义字段。我之所以试图找到这种区别,是因为我可以在获取这些字段的数据时使用正确的函数,所以对于ACF,我会使用get_field() 对于Metabox。io我会使用rwmb_meta 如果是定制的,我会使用get_post_meta(). 我在我的数据库中查找,看看是否能找到每个自定义字段的独特之处,但什么都没有跳出来。

有没有办法告诉我们哪个插件/库创建了一个特定的自定义字段?

1 个回复
SO网友:Tom J Nowell

我正在开发一个将使用自定义字段的插件,但我很好奇是否有办法知道是哪个插件/库创建了这些自定义字段。

WP没有在数据库中存储任何关于post meta和插件接触它的meta信息。WP根本不会对插件进行沙箱处理,所以一旦加载插件,就可以将其视为所有代码。因此,WP核心代码与任何插件代码处于同等地位

我之所以试图找到这种区别,是因为我可以在获取这些字段的数据时使用正确的函数,所以对于ACF,我会对Metabox使用get\\u field()。io我会使用rwmb\\u meta,如果它们是定制的,我会使用get\\u post\\u meta()。

您可能能够使用每个插件的API来获取注册的字段并对其进行比较,但您需要编写依赖于了解这些插件如何存储数据的内部结构的代码。您需要为希望支持的每个插件提供开发人员支持。

我在我的数据库中查找,看看是否能找到每个自定义字段的独特之处,但什么都没有跳出来。

这些数据根本没有存储在数据库中,WP本身也没有尝试存储它。您必须通过插件作者的支持渠道询问他们。

有没有办法告诉我们哪个插件/库创建了一个特定的自定义字段?

不,不使用WP函数和API。

可能是ABC示例metabox库使用了以abc_ 你可以用,但如果你运气好的话。或者,XYZ库让您通过PHP注册字段,它们的键和值具有可预测的格式。你得问问他们。

遗憾的是,你没有提供任何背景来说明你为什么要这么做,所以很难给出建议。请记住,使用get_post_meta. API,如get_field 是否都有包装函数get_post_meta 这增加了额外的逻辑。

但是请记住,第三方插件在这里是非主题的,您不能问ACF特定的问题等,这里也不是问这些问题的最佳场所

相关推荐

在Metabox中输入选择选项更改内容

我正在为我的插件在自定义Metabox中创建一个“输入选择选项”,我不擅长PHP;不知道如何保存用户“输入选择选项”。工作非常简单的PHP。public function zon_featuress_boxx( $post ) { wp_nonce_field( \'zonpackk_testimonial\', \'zonpackk_testimonial_nonce\' ); $data = get_post_meta( $post->ID, \'_zon