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);