У меня есть пользовательская страница входа на http://netballscoop.com/log-in/
Когда вы вводите имя пользователя и пароль, он перенаправляет вас на предыдущую страницу, на которой вы находились идеально. Когда вы нажимаете «Выйти», он перенаправляет вас на ту же страницу. Так что все это хорошо работает.
Если вы оставите имя пользователя / пароль пустым или у вас будет ошибка, это приведет к wp-входу в систему. Чтобы предотвратить это, я использовал код из /programming/11477107/redirect-away-from-login-page
add_action('login_redirect', 'redirect_login', 10, 3);
function redirect_login($redirect_to, $url, $user) {
if($user->errors['empty_password']){
wp_redirect(get_bloginfo('url').'/log-in-error/');
}
else if($user->errors['empty_username']){
wp_redirect(get_bloginfo('url').'/log-in-error/');
}
else if($user->errors['invalid_username']){
wp_redirect(get_bloginfo('url').'/log-in-error/');
}
else if($user->errors['incorrect_password']){
wp_redirect(get_bloginfo('url').'/log-in-error/');
}
else{
wp_redirect(get_bloginfo('url').'/log-in');
}
exit;
}
Это прекрасно работает для ошибок входа в систему на моем сайте. Но теперь при перенаправлении входа вы попадаете на http://netballscoop.com/members/testing (пользователь «Тестирование» выполняется на странице профиля его участника BuddyPress).
Как перенаправить пользователя на предыдущую страницу при входе в систему?
Ответы:
Вы можете отфильтровать
login_redirect
функцию следующим образом, адаптировать в соответствии с вашими потребностями.Обновление 1:
Код (выше) был изменен выше и проверен - работает.
Обновление 2: (Таня)
Пообщались с @userabuser и придумали этот ответ, который работает.
Важная заметка:
Оказывается, что Таня использовала плагин форума bbPress, поэтому, несмотря на оригинальный фрагмент, который использует,
который является правильным и работает в «нормальных» условиях WordPress, в этом случае был перезаписан в приоритете фильтром bbPress,
Теперь, поскольку документация на веб-сайте bbPress.org, в которой подробно описываются эти действия и хуки, плохо организована и несколько неполна (насколько я могу судить), я предлагаю, чтобы (любой) искал дополнительную информацию о том, какие хуки, где и какие фильтры, что следует использовать посмотрите на этот ресурс, который предоставляет подробный список хуков и фильтров.
Примечания: (разное)
Измените,
'subscriber'
чтобы соответствовать роли, которую вы используете для этого типа пользователя. Он также может принимать несколько ролей, поскольку он имеет форму массива.источник