我已经按照下面描述的相同方式使用了这个钩子,可能出现什么问题?
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
。正如我所说,我已经在另一个插件中使用了这个钩子。问题是什么可能导致这种故障?
答案 0 :(得分: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挂钩移至前端块