У меня есть сервер под управлением WordPress 4.9.9 и PHP 7.2.
Я пытаюсь перенаправить пользователей после того, как они войдут в систему.
Чтобы добиться этого, я делаю по существу следующее:
function admin_default_page() {
return '/new-dashboard-url';
}
add_filter('login_redirect', 'admin_default_page');
Отлично работает при входе по этому URL:
/wp-login.php
Не работает, если в строке запроса уже установлено redirect_to
:
/wp-login.php?redirect_to=some-place
Я также на всякий случай попробовал хук wp_login
, но он даже не срабатывает, если в строке запроса установлено redirect_to
.
add_action('wp_login', 'admin_default_page');
Как я могу заставить WordPress всегда перенаправлять на /new-dashboard-url
после входа в систему, независимо от того, что может или не может быть установлено в строке запроса.
В настоящий момент я пытаюсь обойти это, перенаправиввойдите в себя, если в строке запроса установлено redirect_to
, чтобы удалить его, но, на мой взгляд, это просто взлом.
Не могу не подумать, что и login_redirect
, и wp_login
работал независимо от установленного redirect_to
.
Изменилось ли поведение этих хуков в последнее время или я просто делаю это неправильно?