Intereting Posts
MU-плагины не загружаются – нужна помощь Добавить дополнительный класс для get_avatar при показе изображения обновить персонализированный тип сообщения мета из короткого кода Редактирование файлов тем и доступа к страницам кода только для супер-администратора? Форма «Спросить вопрос» для заголовка страницы, в настоящее время используется анспресс Как сделать сообщения «зависимыми» от предыдущих должностей? Термины с более чем одним вхождением имеют класс текущего меню в меню highslide перекрывается Добавление пользовательского Javascript в заголовок в Admin Как удалить действие из плагина? Добавление в миниатюре поддержки удаляет редактор Плагин, который позволит авторам WordPress «следовать» другим авторам и запрашивать «Информация о деятельности» из этого Удалите кнопки быстрого перехода, но не редактор и вкладки Visual / Text get_author_posts_url () Не работает Не удается войти в панель администратора WordPress … перенаправление на наш сайт

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

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

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

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

 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'] легко подделывается, но если нет проблем с безопасностью, это не должно быть проблемой.
  • Я ожидаю, что это будет раздражающей особенностью вашего сайта.