Описание login_redirect
— Filter
Хук login_redirect позволяет изменить URL-адрес, на который будет перенаправлен пользователь после успешного входа в систему. Он срабатывает после проверки учетных данных пользователя и перед перенаправлением на страницу.
Примеры использования
Пример перенаправления пользователя на страницу профиля после входа:
add_filter('login_redirect', function($redirect_to, $request, $user) {
return admin_url('profile.php');
}, 10, 3);
В этом примере мы перенаправляем пользователя на страницу профиля после входа в систему.
Пример перенаправления пользователей с ролью ‘subscriber’ на главную страницу:
add_filter('login_redirect', function($redirect_to, $request, $user) {
if (in_array('subscriber', (array) $user->roles)) {
return home_url();
}
return $redirect_to;
}, 10, 3);
Здесь мы проверяем роль пользователя и перенаправляем подписчиков на главную страницу.
Пример перенаправления на страницу, с которой пришел пользователь:
add_filter('login_redirect', function($redirect_to, $request, $user) {
return !empty($request) ? $request : $redirect_to;
}, 10, 3);
В этом примере мы перенаправляем пользователя на страницу, с которой он пришел, если она задана.
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить поведение перенаправления после входа в систему для различных ролей пользователей
– Производительность
Хук не должен оказывать значительного влияния на производительность, так как выполняются только простые проверки и перенаправления
– Предупреждения
Убедитесь, что перенаправления не создают зацикливания и не нарушают пользовательский опыт
Альтернативы
Тип: action
Этот хук позволяет выполнять действия после успешного входа пользователя, но не изменяет URL перенаправления.
Используйте его, если нужно выполнить дополнительные действия после входа, не изменяя страницу перенаправления