Почему Wordpress таинственным образом запускается и дополнительное невидимое время (дважды с одним выходом) - PullRequest
0 голосов
/ 16 сентября 2011

Итак.Я решил переделать свой предыдущий вопрос для уточнения.

Справочная информация:

  • Плагин на основе архитектуры MVC.
  • Вы можете зарегистрировать пользователей.
  • Пользователь должен активировать свою учетную запись.

Проблема:

Когда пользователь нажимает на ссылку из электронного письма, что пользовательполучите, что они попадают на правильную страницу, не получая ошибок php.Но аккаунт уже активирован.То есть все работает точно так же, как страница сначала просматривается, но не выводится, затем снова проходит и отображается для пользователя.

У меня через var_dump, echo и print_r () определено, что учетная запись активированадо того, как мой плагин даже инициализирован, так что это не проблема в моем коде ..

Codeflow:

  1. В корне плагина:$controller = new Controller()

  2. Крюки контроллера $controller->init() до init

  3. init () работает $get_handler->handle($_GET) где $get_handler устанавливается в $controller->__construct()

  4. Обработчик активирует $get_handler->activate(), когда установлена ​​$_GET['activation_key'] и не пустая строка

Но насколькокак я вижу, этот код запускается дважды , без видимой причины.

Я получаю 2 сообщения, которые добавляются в _SESSION до отображения.

Первая говорит, что учетная запись активирована, вторая говорит, что учетная запись уже активирована.

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

Редактировать:

Похоже, это только при щелчке ссылки из почты, открывая новую вкладку.Если я перезагрузить вкладку, все работает нормально.Я использую Gmail. Gmail запускает страницу перед ее отображением?

1 Ответ

1 голос
/ 17 сентября 2011

Похоже, я наткнулся на решение.

Отсутствует косая черта. Слэш!

Ссылка верна:

http://www.page.com/permalink/?activation_key=2ad60f33
                             ^

Эта ссылка вызывает двойные сообщения:

http://www.page.com/permalink?activation_key=2ad60f33
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...