web-dev-qa-db-fra.com

Vérifier si la page actuelle est wp-admin

J'ai créé un tableau de bord personnalisé commun à mes utilisateurs situé à l'adresse " http://website.com/login/dashboard/ ".

J'essaie de rediriger les utilisateurs vers ce tableau de bord personnalisé uniquement s'ils ne sont PAS des administrateurs et si la page IS http://www.website.com/login/wp -admin/

La fonction de redirection que j'ai est la suivante:

add_action( 'admin_init', 'redirect_so_15396771' );

function redirect_so_15396771()
{   
    if ( defined( 'DOING_AJAX' ) && DOING_AJAX )  
        return;

    if ( current_page('is_admin()') & !current_user_can('delete_users') ) {
            wp_redirect( site_url( '/login/dashboard/' ) );
            exit();
    }
}
1
user1823055

Vous pouvez tester les rôles avec current_user_can():

if ( is_admin() && !current_user_can('administrator') ) {
    // redirect
}
2
fuxia