Часто на сайтах со сложной структурой от пользователя требуются определенные действия после входа в систему. Например, в интернет-магазине после нажатия кнопки Купить и авторизации, он должен быть перемещен в раздел оформления заказа. Аналогичная ситуация с новостными многоавторскими сайтами.
Стандартные средства ВордПресс не позволяют делать этого. Система следует четко заданной инструкции.
Разберем детально, как это сделать на любом сайте WordPress.
Этот способ сложнее. Нужно редактировать файлы темы.
Все последующие действия предполагают редактирование 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() нужно вписать страницу для редиректа. Ненужные роли пользователей можно удалить.
Если система не будет перенаправлять, перейдите Настройки > Постоянные ссылки и просто нажмите кнопку Сохранить изменения.