Restrict access to admin but allow admin_post hook
All you need to do is to modify your method of restricting users. 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(); } }