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();
    }
}

Leave a Comment