Update WP option by plugin

时间:2017-08-31 作者:Bajeczny

我想设置WP option (更具体地说是“admin\\u email”),通过使用插件,its option (plugin option)和update\\u option()。

我尝试使用下面这样的行,但当插件代码包含它们时,它就会被禁用。知道为什么吗?

$helper = (get_option(\'plugin-option\');
update_option(\'admin_email\', $helper );
EDIT

$helper = get_option(\'plugin-option\');
update_option(\'admin_email\', $helper );
现在它并没有禁用(由于括号),但它仍然不会更改选项值

2 个回复
最合适的回答,由SO网友:Tom J Nowell 整理而成

该选项很特别,因为WordPress有代码可以出于安全原因拦截您的呼叫:

https://codex.wordpress.org/Function_Reference/update_option_new_admin_email

此功能拦截对管理员电子邮件地址的更改。它可以防止地址被更新,而是向用户发送一封确认电子邮件,其中包含一个确认更改的链接。

您试图做的事情很容易被滥用,管理员电子邮件的任何更改都应该触发通知,作为一种基本的安全措施。

幸运的是,该函数的文档还包括一个如何绕过它的示例

SO网友:Jacob Peattie

您有一个额外的括号:

$helper = (get_option(\'plugin-option\');
需要是

$helper = get_option(\'plugin-option\');

结束

相关推荐

是否以编程方式取消序列化WP_OPTIONS选项?

我需要以编程方式取消wp\\U选项的序列化。我正在创建一个Java应用程序来更改数据库信息,例如wp\\u选项上的一些选项,这样我就不需要访问面板来进行更改。如何取消序列化选项,如 a:4:{i:0;s:5:\"posts\";i:1;s:5:\"pages\";i:2;s:4:\"tags\";i:3;s:10:\"categories\";} 或 a:1:{s:12:\"_multiwidget\";i:1;} 更改它们并重新序列化到数据库?谢谢