Intereting Posts
неожиданный '$ mm' (T_VARIABLE) в wp-includes / functions.php Моя многостраничная домашняя страница wordpress перенаправляется на страницу регистрации Как ограничить конкретный контент определенным пользователем Включение видео YouTube через функцию шаблона вызывает ошибку междоменной политики iframe Показаны самые популярные сообщения недели Не удалось выполнить обновление из-за несогласованных разрешений файлов Добавление Re Captcha на ваш сайт Какой плагин следует использовать для базовой системы регистрации / входа пользователя методы do_action и hook Пустая страница при сохранении изменений в сообщении Не удалось найти фид Разработка темы WordPress, похоже, ужасное разделение включает? Как связать таможенные сообщения с категорией URL для отправки Meta Как мы можем отключить страницу архива персонализированного типа сообщений, но включить его?

Перенаправить пользователей на определенную страницу?

Есть ли способ перенаправить пользователей, возвращающихся на сайт, которые уже вошли в систему? Предполагая что-то вроде:

function returning_redirect() { //code here } add_action('auth_cookie_valid', 'returning_redirect'); 

Но я не могу понять, как это работает. Благодаря!

Solutions Collecting From Web of "Перенаправить пользователей на определенную страницу?"

 function redirect_user() { if ( is_user_logged_in() ) { wp_redirect( 'http://yoursite.com/page/' ); exit; } } add_action( 'init', 'redirect_user' ); 

Это приведет к перенаправлению пользователя на выбранную страницу, если они вошли в систему. Возможно, потребуется добавить условие, которое проверяет, чтобы убедиться, что пользователь еще не на этой странице, чтобы избежать непрерывного цикла перенаправления.

Немного грубо, но …

 function returning_redirect($a) { remove_action('auth_cookie_valid', 'returning_redirect'); if (is_user_logged_in()) { if (parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST) !== parse_url(site_url(), PHP_URL_HOST)) { wp_redirect(site_url('page')); exit; } } add_action('auth_cookie_valid', 'returning_redirect'); } add_action('auth_cookie_valid', 'returning_redirect'); 

Вы проверяете заголовок HTTP_REQUEST для соответствия имени сервера.

Предостережения :

  • Это не будет работать на сервере с несколькими установками подкаталогов, такими как http://site.com/wordpress и http://site.com/wordpress2 потому что это будет проверять site.com часть site.com . Если это ваше обстоятельство, вам понадобится нечто более сложное.
  • $_SERVER['HTTP_REFERER'] легко подделывается, но если нет проблем с безопасностью, это не должно быть проблемой.
  • Я ожидаю, что это будет раздражающей особенностью вашего сайта.