Как сделать чтобы после авторизации перемещало на основную страницу

Добавил пользователь Владимир З.
Обновлено: 05.10.2024

И это снова я

Как сделать так, чтобы если пользователь авторизован, то одна из кнопок начинала выполнять другое действие? То есть кликаю я на "Личный кабинет", и если не авторизован вылезает форма с авторизацией, а если авторизован сразу идёт в личный кабинет.

Там вроде какая-то фигня через сессии все дела, но так как я на Ларавеле, я не знаю куда он вообще девает информацию о сессии после авторизации

Там вроде какая-то фигня через сессии все дела, но так как я на Ларавеле, я не знаю куда он вообще девает информацию о сессии после авторизации

На своём блоге я всегда стараюсь брать те темы, которые наиболее актуальны русскоязычным пользователям. Иногда получается… а иногда нет. Поэтому прежде всего хочу напомнить — если у вас есть предложение для поста, свяжитесь со мной любым удобным вам способом. Буду вам за это очень благодарен.

А теперь ближе к делу. Представляю вам серию постов, посвящённых нестандартным формам пользователей, а именно — форме входа (этот пост), форме регистрации и форме сброса пароля (ссылки на новые посты появятся по мере их появления).

Итак, форма авторизации пользователей. Как она по умолчанию выглядит в WordPress.

Стандартная страница авторизации в WordPress

Форма выглядит и работает прекрасно. Однако, если вы работаете над серьёзным сайтом, возможно хотелось бы сделать форму, вписывающуюся в общий дизайн, и без логотипа WordPress. Ну хорошо, логотип вы можете заменить + немного своих стилей подобавлять, но идеальной кастомизации вы всё же не добьётесь, только потратите массу времени и сил.

Итак, произвольная форма входа для WordPress (в этой статье я её ещё буду называть кастомной формой — просто потому что мне так удобнее).

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

Как и всегда, я буду стараться описывать всё максимально простым языком, однако если вам что-либо непонятно, вы всегда можете оставить свой вопрос в комментариях — постараюсь ответить максимально подробно, либо мы можем просто связаться по скайпу (его вы можете найти на странице контактов).

Шаг 1. Форма входа в виде шорткода

В принципе вам даже не нужно каких-либо знаний кода — просто копируете этот код и вставляете его в functions.php текущей темы.

Если вы будете использовать другие URL, то просто замените их в этом коде и в коде из следующего шага. Кода в принципе немного, думаю у вас не возникнет с этим проблем.

Я использовал стандартную тему twentyfifteen и форма у меня получилась следующая:

Нестандартная форма входа в WordPress

Шаг 2. Проставляем нужные редиректы

На самом деле сделать форму — проще простого, а самое интересное начинается сейчас. В этом шаге мы сделаем две важные вещи:

  • при возникновении ошибок (неверный пароль или несуществующий пользователь) будем направлять пользователя обратно на нашу произвольную форму, а не на стандартную,
  • в случае если пользователь выходит с сайта и параметр редиректа не задан, так же будем направлять его на нашу форму (но разумеется вы можете задать любой URL, какой захотите).

Итак, код для functions.php :

На самом деле ничего сложного, верно? Согласен, самое интересное начнётся, когда мы будем создавать произвольную форму регистрации с капчей и форму восстановления пароля. Но это уже в следующих уроках.

По теме

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Danil Venikov


Danil Venikov


Эмиль Насыров'

Danil Venikov


Danil Venikov


Эмиль Насыров' ответил Danil

Даня, если честно, у меня ПК сдох давно и я как-то уже не помню ничего, т.к. утратил навыки из-за долгого отсутствия за компом. Скинь мне команды в /authme help

Михаил Котов


Михаил Котов

Ринат Багаутдинов


Ринат Багаутдинов

AuthMe В config.yml есть категория Hooks. И в ней нужно написать MultiWorld: 'one_world' И вроде бы BungeeCord: true

Danil Venikov


Danil Venikov

Danil Venikov


Danil Venikov


Александр Масатов ответил Danil

Danil Venikov


Danil Venikov ответил Александру


Александр Масатов ответил Danil


Александр Масатов ответил Danil


Александр Масатов ответил Danil


Александр Масатов

Раньше я делал так. /authme setspawn ~ в этом месте игрок будет появляться. Дальше плита или кнопка с ком блоком spawn @p ~ тп на спавн из ессентиалс. Плюс, в настройках было, чтобы после авторизации игрока возвращало на то место, где он разлогинился.

Марина Голубина


Марина Голубина

AuthServer кидает на другой серв по банже

Или последний authme reloaded там есть функция, куда пере-направлять после авторизации

Никита Пахомов


Никита Пахомов

Никита Пахомов


Никита Пахомов ответил Никите

Марина Голубина


Марина Голубина ответила Никите

Марина Голубина


Марина Голубина

Марина Голубина


Марина Голубина

А если используешь все-таки, просто в конфиге внизу где то, не помню, уже 2 года не занимаюсь этой игрой
Кароче будет типо bungeecord вроде как, ставишь true а после него будет параметр типо куда перенаправлять игрока игрока после авторизации

И это снова я

Как сделать так, чтобы если пользователь авторизован, то одна из кнопок начинала выполнять другое действие? То есть кликаю я на "Личный кабинет", и если не авторизован вылезает форма с авторизацией, а если авторизован сразу идёт в личный кабинет.

Там вроде какая-то фигня через сессии все дела, но так как я на Ларавеле, я не знаю куда он вообще девает информацию о сессии после авторизации

Там вроде какая-то фигня через сессии все дела, но так как я на Ларавеле, я не знаю куда он вообще девает информацию о сессии после авторизации

Читайте также: