Alapból a WordPress bejelentkezést követően a profil oldalra irányít át. Ezt néhány bővítmény módosíthatja (pl a WooCommerce a My account oldalra fog irányítani), így előbb-utóbb előállhat az a helyzet, hogy szeretnénk a saját kezünkbe venni az (át)irányítást és megmondani, hogy bejelentkezés után hova irányítsa a felhasználót az oldal.

Ezt a következő egyszerű snippet segítségével tehetjük meg:

// Felhasználó átirányítása bejelentkezés után a főoldalra
add_filter( 'login_redirect', function ( $redirect_to, $request, $user ) {
    $redirect_to =  home_url();
    return $redirect_to;
}, 10, 3 );
// Felhasználó átirányítása bejelentkezés után az /akciok oldalra
add_filter( 'login_redirect', function ( $redirect_to, $request, $user ) {
    $redirect_to =  home_url('akciok');
    return $redirect_to;
}, 10, 3 );

Előfordulhat, hogy a felhasználókat a user-role alapján szeretnénk átirányítani. Például az adminisztrátorokat nem szeretnénk máshova irányítani, de a felhasználókat a /shop oldalra szeretnénk irányítani:

// A nem admin felhasználók átirányítása bejelentkezés után a shop oldalra
add_filter( 'login_redirect', function ( $redirect_to, $request, $user ) {
	if (user_can($user, 'manage_options)){
	    $redirect_to = get_permalink( woocommerce_get_page_id('shop' ));
	}

    return $redirect_to;
}, 10, 3 );