Редирект после авторизации в wordpress

Задача практически типовая, потому что рано или поздно может понадобиться её решить. Специфика wordpress в довольно слабой документированности частных вопросов, что иногда отбивает охоту что то на нем делать.

После авторизации со страницы /wp-login.php мы оказываемся в админке (/wp-admin). Как можно исправить данную ситуацию и попасть в какое то более полезное место на сайте? Вот несколько разных подходов.

Задание параметра GET — redirect_to
Если заглянуть в код /wp-login.php, то мы увидим, что программа проверяет наличие такого параметра как redirect_to, который указывает куда  следует перейти после авторизации. Поэтому для авторизации пользователя мы можем составить специальный url на страницу авторизации, вроде такого:

Тогда пользователи будут попадать после авторизации туда, куда нам нужно. Этот вариант не будет работать, если мы используем для авторизации какой либо запрограммированный блок с полями логин и пароль.

Исправим переменную редиректа в коде страницы wp_login.php
Это некая полумера для любителей править код движка сайта. Мы можем явно задать переменную $redirect_to в коде, в том месте где идет вызов фильтров $redirect_to = apply_filters(‘login_redirect’, $redirect_to, … Ясно, что после обновления движка ваши исправления канут в лету, поэтому, если вы собираетесь поддерживать сайт в обновленном состоянии, это не ваш вариант.

Пишем фильтр
Типично, что любой сайт часто содержит какой то специфический модуль (user plugin), в котором разработчик собирает уникальные дополнения и исправления к движку. Вот именно в такой модуль можно добавить код небольшого фильтра, выполняющего редирект после авторизации пользователя на нужную страницу. Собственно сам код.

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

Мало букафф? Читайте есчо !

Как разделить рендеринг WP_Widget для front и back-end?

Февраль 21, 2023 г.

Метод widget, который реализуется для отрисовки содержимого виджета вызывается одинаково для фронта и бек-енда. Но, если вы не утруждаете себя созданием необходимых для рендеринга на бек-енде стилей, то результат не похож, на то что вы увидите на фронте. ...

Читать

Нужные SEO модули для wordpress

Февраль 18, 2010 г.

Сделаем акцент на «нужности». Wordpress в базовой комплектации хорошо подходит для сайтов-визиток (лишние элементы и функционал практически отсутствуют), а при желании доводится (дополнительными модулями и такой-то матерью) до необходимого уровня. Ну ...

Читать

Включаем сессии в Wordpress

Апрель 17, 2016 г.

В сессиях удобно хранить что то, связанное с текущей деятельностью пользователя. Оказалось, что в Wordpress сессии не запускаются движком. Стартовать их нужно самостоятельно. Впрочем, запуск сессий где то посреди шаблона не прокатит. Нужно подключить ...

Читать

SQL скрипт для удаления комментариев не прошедших проверку

Декабрь 8, 2015 г.

Есть у меня несколько сайтов на wordpress, которые я когда то сделал в порыве энтузиазма, а теперь не занимаюсь ими особо. На днях обратил внимание, что один из них содержит > 12000 непроверенных комментариев. Комментарии я давно не публикую сразу, ...

Читать
 

Комментарии к «Редирект после авторизации в wordpress»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий:

Много комментариев в “Редирект после авторизации в wordpress”

  1. Александр:

    Как все просто, когда ты программист. И как все страшно, когда экономист :))