Можно ли в wordpress сайте сделать перенаправление?
Здравствуйте уважаемые знатоки, подскажите пожалуйста, в общем сделала приветственную страницу сайта, что-то типа мини лендинга можно ли сделать так, чтобы люди которые зашли в систему ( в сайт ) залогинились, то они бы не видели эту стартовую страницу ? Плагинами это или есть разумное решение ? Т.е зашел человек на сайт и видит эту страницу приветственную, как только он ввел логин и пароль, то эта страница ему не показывается и его все время перенаправляет на страницу каталога например
Дополнительно:
Вы можете записать url, который появляется после входа. Скопировать его, установить плагин Redirections (там ромашки на фото), вставить туда скопированный url, и написать новый, куда отправлять после посещения этого.
Если он у каждого свой (например, у пользователя появляется имя в url), то запишите его регулярным выражением.
Затем зайдите в настройки->постоянные ссылки, нажмите «сохранить изменения»
И всё должно заработать
Ответы:
Конечно, на этой странице приветствия можно добавить проверку в шаблоне:
get_header(); if ( ! is_user_logged_in() ) { //kажем эту страницу или например подключаем определенный контент get_template_part("non-logged-in-page-content"); //или redirect на логин wp_redirect( wp_login_url() ); exit; }else{ //кажем другую страинцу get_template_part("logged-in-page-content"); } get_footer(); .... |
get_header(); if ( ! is_user_logged_in() ) { //kажем эту страницу или например подключаем определенный контент get_template_part("non-logged-in-page-content"); //или redirect на логин wp_redirect( wp_login_url() ); exit; }else{ //кажем другую страинцу get_template_part("logged-in-page-content"); } get_footer(); ....
- Я далека от такого, куда это вставлять , есть страница 1 это стартовая которая показывается только незалогененным, если человек перешел на форму входа, то ему показывается страница 2, а первая не показывается
- CREV, тогда тебе далеко до твоего вопроса, перед тем как бежать научись ходить
изучи сначала структуру шаблона и понятие шаблонов и тп... рановато тебе да и не зачем прыгать вместо того что бы постепенно обучаться
В активной теме сайта найдите файл functions.php и в него добавьте код:
add_action( 'template_redirect', 'redirect_logged_users' ); function redirect_logged_users() { if ( is_user_logged_in() ) { // здесь вместо 5 укажите ID страницы, на которую нужно перенаправить авторизованного пользователя wp_redirect( get_permalink( 5 ) ); } } |
add_action( 'template_redirect', 'redirect_logged_users' ); function redirect_logged_users() { if ( is_user_logged_in() ) { // здесь вместо 5 укажите ID страницы, на которую нужно перенаправить авторизованного пользователя wp_redirect( get_permalink( 5 ) ); } }
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос

Да, это делается обычным редиректом для авторизованных пользователей. Если приветственная страница нужна только гостям, то при заходе авторизованного пользователя на эту страницу его можно перенаправлять, например, в личный кабинет или на главную внутреннюю страницу.
Самый простой вариант через
template_redirect:add_action('template_redirect', function () { if (! is_user_logged_in()) { return; } if (! is_page('welcome')) { return; } wp_safe_redirect(home_url('/account/')); exit; });
Здесь
welcome— slug приветственной страницы, а/account/— страница, куда отправлять пользователя после входа. Если нужно перенаправлять на главную, замените наhome_url('/').Чтобы после логина пользователь тоже попадал не на приветственную страницу, можно добавить фильтр:
add_filter('login_redirect', function ($redirect_to, $requested_redirect_to, $user) { if ($user instanceof WP_User) { return home_url('/account/'); } return $redirect_to; }, 10, 3);
Если сайт использует WooCommerce, для клиентов чаще логичнее вести на
/my-account/:wp_safe_redirect(wc_get_page_permalink('myaccount'));
Плагин для такой задачи не обязателен. Код лучше разместить в дочерней теме или в маленьком site-specific plugin. Перед включением проверьте, чтобы страница назначения не редиректила обратно на welcome, иначе можно получить циклический редирект.