我尝试使用以下操作将全局拦截器添加到我的WordPress应用程序中:
add_action( 'template_redirect', 'somefunc' );
function somefunc() {
//do some logic
}
它仅适用于前端页面并且在仪表板中不起作用,例如,不会为以下URL调用此挂钩:
http://example.com/wp-admin/profile.php
如何为管理页面设置此全局挂钩?
答案 0 :(得分:2)
template_redirect
操作仅在网站的前端触发。根据您想要执行逻辑的时间,可以使用一些不同的操作。
通常只需挂上init
并在那里激发你的逻辑就可以了:
add_action( 'init', 'somefunc' );
function somefunc() {
//do some logic which executes on front end and admin.
}
如果您的代码太早,请查看典型请求中触发的操作和过滤器列表,然后再尝试一下:https://codex.wordpress.org/Plugin_API/Action_Reference/
答案 1 :(得分:1)
管理员没有以相同的方式使用模板,因此您需要添加一个管理钩子:
add_action( 'admin_init', 'somefunc' );