插件无法识别我的插件的隐藏自定义域

时间:2012-07-14 作者:Eyal

在我开发的一个插件中,我在管理区域的新建/更新帖子页面中创建了元盒,将数据保存到自定义字段中。为了防止混淆或任何类型的问题,我创建了那些自定义字段,通过在其开头添加“\\u”(下划线)来隐藏这些自定义字段。现在我意识到,其他插件将无法识别这些自定义字段,而不仅仅是Wordpress,所以我正在寻找一种方法来解决这个问题,因为我希望我的插件能够与其他插件一起工作。

显然,从名称中删除“\\u”将是一种快速而简单的方法。但是,将更新插件的用户将有问题,因为他们的所有数据都已保存在旧的自定义字段中。

我考虑的一种方法是添加另一组非隐藏自定义字段,这些字段将保存与隐藏自定义字段相同的数据。因此,例如,如果现在我有“\\u address”,我将添加另一个字段“address”,并且无论何时保存帖子,数据都将保存在两个自定义字段中。这样,数据库中已经有数据的用户在使用它时就不会有任何问题。但是,对于相同的用户(正在更新),在再次保存帖子之前,数据不会存在于新的自定义字段中。意味着插件将识别新字段,但不会有任何内容。

所以我的第一个问题是,有没有人知道我可以用什么更好的方式来存档?

如果没有,我可以在插件中添加一个功能,一旦用户进行更新,它将自动在其数据库中的所有帖子中运行“保存”,那么我猜数据将保存在新的自定义字段中?或者,可能有一个函数会将用户数据库中所有隐藏的自定义字段从下划线复制到同名的自定义字段,而不使用下划线?

[Update - pulled from a Comment]

那么,快速查看一下“post widget”代码我找到了这一行“HAVING meta_key NOT LIKE \'_%\'“隐藏隐藏的自定义字段。我猜插件开发人员默认情况下会隐藏它。

1 个回复
最合适的回答,由SO网友:Milo 整理而成

在自定义字段前面加下划线只会导致键从默认自定义字段UI中隐藏:

enter image description here没有什么可以阻止插件或主题代码以其他方式查询这些键及其值。

结束

相关推荐