Зачем перенаправлять после авторизации?
Часто на сайтах со сложной структурой от пользователя требуются определенные действия после входа в систему. Например, в интернет-магазине после нажатия кнопки Купить и авторизации, он должен быть перемещен в раздел оформления заказа. Аналогичная ситуация с новостными многоавторскими сайтами.
Стандартные средства ВордПресс не позволяют делать этого. Система следует четко заданной инструкции.
Разберем детально, как это сделать на любом сайте WordPress.
Вручную с помощью PHP-кода
Этот способ сложнее. Нужно редактировать файлы темы.
Все последующие действия предполагают редактирование functions.php — основного конфигурационного файла WordPress-темы. Если вы не знаете, как редактировать этот файл, то в этом случае поможет плагин ProFunctions.
Откройте functions.php активной ВордПресс-темы на сайте и добавьте строки:
function redirect_users_after_login() {
$user = wp_get_current_user();
$roles = ( array ) $user->roles;
// Редирект для администраторов
if ( $roles[0] == 'administrator' ) {
wp_redirect( 'https://site.ru/page_for_admin' );
exit;
}
// Редирект для подписчиков
if ( $roles[0] == 'subscriber' ) {
wp_redirect( 'https://site.ru/page_for_subscriber' );
exit;
}
// Редирект для авторов
if ( $roles[0] == 'author' ) {
wp_redirect( 'https://site.ru/page_for_author' );
exit;
}
// Редирект для редакторов
if ( $roles[0] == 'editor' ) {
wp_redirect( 'https://site.ru/page_for_editor' );
exit;
}
}
add_action( 'admin_init', 'redirect_users_after_login' );
В коде добавлены перенаправления для администраторов, подписчиков, редакторов и авторов. В функции wp_redirect() нужно вписать страницу для редиректа. Ненужные роли пользователей можно удалить.
Если система не будет перенаправлять, перейдите Настройки > Постоянные ссылки и просто нажмите кнопку Сохранить изменения.