我使用这个钩子只允许管理员角色访问仪表板
add_action( \'admin_init\', function() {
if ( defined(\'DOING_AJAX\') && DOING_AJAX ) {
return;
}
if ( !current_user_can(\'manage_options\') ) {
wp_redirect( home_url(\'/meu-perfil\') );
exit();
}
});
现在,我需要在前端提交表单时运行一个函数,如下所示:
function editUser() {
error_log(\'message\');
}
add_action( \'admin_post_nopriv_add_foobar\', \'editUser\' );
add_action( \'admin_post_add_foobar\', \'editUser\' );
但是第一个钩子挡住了第二个钩子。
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成
您所需要做的就是修改限制用户的方法。
add_action( \'admin_init\', function() {
if ( (defined(\'DOING_AJAX\') && DOING_AJAX) || ( strpos($_SERVER[\'SCRIPT_NAME\'], \'admin-post.php\') ) ) {
return;
}
if ( !current_user_can(\'manage_options\') ) {
wp_redirect( home_url(\'/meu-perfil\') );
exit();
}
}