Cod pentru a crea o redirecționare după autentificare?

20 feb. 2017, 12:11:47
Vizualizări: 15.3K
Voturi: 2

Am acest cod pentru a crea o redirecționare după autentificare. Nu văd nicio eroare dar nu funcționează. Niciun mesaj de eroare, pur și simplu nu face nimic.

Am adăugat acest cod în functions.php în tema mea child.

/*******************************
    REDIRECTARE
*********************************/

add_action('wp_head','redirect_admin');
function redirect_admin(){
  if(is_admin()&&!current_user_can('level_10')){
    wp_redirect(WP_HOME.'/quote-list/');
    die; // Trebuie să folosești die aici
  }
}
0
Toate răspunsurile la întrebare 1
0

Puteți utiliza hook-ul login_redirect.

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

    // Există un utilizator de verificat?

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

        // verifică administratorii
        if ( in_array( 'administrator', $user->roles ) ) {

            $redirect_to = WP_HOME.'/quote-list/'; // URL-ul tău de redirecționare
        }
    }

    return $redirect_to;
}

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

Exemplu preluat din WordPress Codex

De asemenea, is_admin() nu verifică dacă utilizatorul este administrator, ci dacă se afișează panoul de administrare.

20 feb. 2017 12:22:29