The login_redirect WordPress PHP Filter lets you modify the URL users are redirected to after a successful login.
Usage
add_filter('login_redirect', 'your_custom_function_name', 10, 3);
function your_custom_function_name($redirect_to, $requested_redirect_to, $user) {
// your custom code here
return $redirect_to;
}
Parameters
- $redirect_to (string): The default redirect destination URL after login.
- $requested_redirect_to (string): The requested redirect destination URL passed as a parameter.
- $user (WP_User|WP_Error): WP_User object if login was successful, WP_Error object otherwise.
More information
See WordPress Developer Resources: login_redirect
Examples
Redirect to the Homepage
Redirect users to the homepage after login:
function redirect_to_homepage($redirect_to, $requested_redirect_to, $user) {
return home_url();
}
add_filter('login_redirect', 'redirect_to_homepage', 10, 3);
Redirect Based on User Role
Redirect users to different pages based on their role:
function redirect_by_role($redirect_to, $requested_redirect_to, $user) {
if ($user instanceof WP_User) {
if (in_array('administrator', (array) $user->roles)) {
return admin_url();
} else {
return home_url();
}
}
return $redirect_to;
}
add_filter('login_redirect', 'redirect_by_role', 10, 3);
Redirect to Custom Dashboard
Redirect users to a custom dashboard page after login:
function redirect_to_custom_dashboard($redirect_to, $requested_redirect_to, $user) {
return home_url('/custom-dashboard/');
}
add_filter('login_redirect', 'redirect_to_custom_dashboard', 10, 3);
Redirect to Requested URL
Redirect users to the requested URL after login, if available:
function redirect_to_requested_url($redirect_to, $requested_redirect_to, $user) {
if (!empty($requested_redirect_to)) {
return $requested_redirect_to;
}
return $redirect_to;
}
add_filter('login_redirect', 'redirect_to_requested_url', 10, 3);
Redirect to User Profile Page
Redirect users to their profile page after login:
function redirect_to_user_profile($redirect_to, $requested_redirect_to, $user) {
if ($user instanceof WP_User) {
return home_url('/profile/' . $user->user_login);
}
return $redirect_to;
}
add_filter('login_redirect', 'redirect_to_user_profile', 10, 3);