-2

我已经按照下面描述的相同方式使用了这个钩子,可能出了什么问题?

class my_plugin {

    function __construct()
    {
        parent::__construct();

        var_dump(__LINE__); // run 
        add_filter('login_redirect', array($this, 'login_redirect'));
    }

    function login_redirect()
    {
        var_dump(__LINE__); // not run
    }

}

编辑 1

hook在成功登录过程后运行。正如我所说,我在另一个插件中使用了这个钩子。问题是什么可能导致此故障?

4

1 回答 1

1

好的,我知道了。

作为记录:

可以肯定,这可以帮助其他人。确实,前段时间我遇到了由相同原因触发的问题:is_admin()错误使用:

我的入门代码是:

if (is_admin())
{
    // block 1
    // 
    // run admin classes
    // including my_plugin class
    // that includes login_redirect hook // WRONG!
}
else
{
    // block 2
    // 
    // run frontend classes
}

login_redirect钩子不在管理页面内运行(is_admin()条件)

解决方案:将 login_redirect 钩子移动到前端块

于 2012-09-10T16:36:40.957 回答