nonces in custom oop plugin

时间:2013-03-20 作者:fefe

如何使用check_admin_referer 使用oop的方法
如果按以下方式使用,则无法调用该函数:

class MyClass{
    function __construct(){ 

        if( isset($_POST[\'my_nonce_field\']) && check_admin_referer(\'my_nonce_action\', \'my_nonce_field\')){               
            $this->update_item();
        }

    }
}
$测试=新建MyClass();

上述情况导致以下错误消息:

Call to undefined function check_admin_referer()

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

check_admin_referer 是一个pluggable function 这意味着它是在加载插件后定义的,所以请在或使用之后调用构造函数或实例化对象plugins_loaded 行动挂钩。

例如:

class MyClass{
    function __construct(){ 
        if( isset($_POST[\'my_nonce_field\']) && check_admin_referer(\'my_nonce_action\', \'my_nonce_field\'))
            $this->update_item();
    }
}

add_action(\'plugins_loaded\',\'newobj\');
function newobj(){
    $myclass = new MyClass;
}

结束

相关推荐

多个单个站点,一个插件目录-调整plugins_url()

[这不是一个多站点问题]更新:这个问题在逻辑上是不可能的,或者是思维循环,如果你愿意的话,请检查下面的更新。技术是laid out here in WPEngineer.它允许有一个插件文件夹来为运行在同一服务器上的多个WordPress站点提供服务。所以,我所有的开发站点都在wp配置中有这个。phpdefine( \'WP_PLUGIN_DIR\', \'/www_dev/base-site/wp-content/plugins\' ); define( \'WP_PLUGIN_URL\', \