web-dev-qa-db-fra.com

Rediriger les utilisateurs après la première connexion

Je souhaite rediriger mes utilisateurs vers une page après leur première connexion. J'ai également remarqué certaines solutions comme une redirection après que l'utilisateur soit enregistré (redirection après les premières 48 heures), mais le problème est que tous les utilisateurs sont déjà enregistrés.

Est-ce que quelqu'un sait comment faire cela?

Merci!

1
Eddy

Utilisez le code suivant pour répondre à vos besoins.

//hook when user registers
add_action( 'user_register', 'myplugin_registration_save', 10, 1 );

function myplugin_registration_save( $user_id ) {

    // insert meta that user not logged in first time
    update_user_meta($user_id, 'prefix_first_login', '1');

}

// hook when user logs in
add_action('wp_login', 'your_function', 10, 2);

function your_function($user_login, $user) {

    $user_id = $user->ID;
    // getting prev. saved meta
    $first_login = get_user_meta($user_id, 'prefix_first_login', true);
    // if first time login
    if( $first_login == '1' ) {
        // update meta after first login
        update_user_meta($user_id, 'prefix_first_login', '0');
        // redirect to given URL
        wp_redirect( 'http://www.example.com/' );
        exit;
    }
}
6
WisdmLabs