Código para crear una redirección después del inicio de sesión

20 feb 2017, 12:11:47
Vistas: 15.3K
Votos: 2

Tengo este código para crear una redirección después del inicio de sesión. No veo ningún error pero no funciona. No hay errores, simplemente no hace nada.

Agregué este código a functions.php en mi tema hijo.

/*******************************
    REDIRECCIÓN
*********************************/

add_action('wp_head','redirect_admin');
function redirect_admin(){
  if(is_admin()&&!current_user_can('level_10')){
    wp_redirect(WP_HOME.'/lista-de-cotizaciones/');
    die; // Debes terminar la ejecución aquí
  }
}
0
Todas las respuestas a la pregunta 1
0

Puedes usar el hook login_redirect.

function redirect_admin( $redirect_to, $request, $user ){

    //¿Existe un usuario para verificar?

    if ( isset( $user->roles ) && is_array( $user->roles ) ) {

        //verificar administradores
        if ( in_array( 'administrator', $user->roles ) ) {

            $redirect_to = WP_HOME.'/quote-list/'; // Tu URL de redirección
        }
    }

    return $redirect_to;
}

add_filter( 'login_redirect', 'redirect_admin', 10, 3 );

Ejemplo tomado de WordPress Codex

Además, is_admin() no verifica si el usuario es un administrador, sino si se está mostrando el panel de administración.

20 feb 2017 12:22:29