Codice per creare un reindirizzamento dopo il login?

20 feb 2017, 12:11:47
Visualizzazioni: 15.3K
Voti: 2

Ho questo codice per creare un reindirizzamento dopo il login. Non vedo errori ma non funziona. Nessun errore, semplicemente non fa nulla.

Ho aggiunto questo codice al file functions.php del mio child theme.

/*******************************
    REINDIRIZZAMENTO
*********************************/

add_action('wp_head','redirect_admin');
function redirect_admin(){
  if(is_admin()&&!current_user_can('level_10')){
    wp_redirect(WP_HOME.'/quote-list/');
    die; // È necessario terminare qui l'esecuzione
  }
}
0
Tutte le risposte alla domanda 1
0

Puoi utilizzare l'hook login_redirect.

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

    // C'è un utente da verificare?
    if ( isset( $user->roles ) && is_array( $user->roles ) ) {

        // Verifica se è un amministratore
        if ( in_array( 'administrator', $user->roles ) ) {

            $redirect_to = WP_HOME.'/quote-list/'; // URL di reindirizzamento personalizzato
        }
    }

    return $redirect_to;
}

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

Esempio tratto dal WordPress Codex

Inoltre, is_admin() non verifica se l'utente è un amministratore ma controlla se viene visualizzato il pannello di amministrazione.

20 feb 2017 12:22:29