Мой плагин WordPress вызывается дваждыPhp

Кемеровские программисты php общаются здесь
Anonymous
Мой плагин WordPress вызывается дважды

Сообщение Anonymous »

Я создаю плагин WordPress и при отладке заметил, что он вызывается дважды при каждом запросе. Код моего плагина такой:

Код: Выделить всё

class Br1E_EngenhariaPlugin{
(...)
}

new Br1E_EngenhariaPlugin(); // A breakpoint here is called twice on each request
Отлаживая код, я вижу, что проблема в том, что файл wp-load.php вызывается дважды. Первый раз стек вызовов запускается на index.php:
Изображение

Если я нажму «Продолжить», он снова остановится на той же точке останова, на этот раз стек вызовов начался с wp-cron.php:
Изображение

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

Код: Выделить всё

class Br1E_EngenhariaPlugin{
public static function LoadOnce() : Br1E_EngenhariaPlugin
{
if (self::$pluginInstance == null)
self::$pluginInstance = new Br1E_EngenhariaPlugin();

//register_activation_hook( __FILE__, array($br1Engenharia, 'install') );
return self::$pluginInstance;
}
(...)
}

Br1E_EngenhariaPlugin::LoadOnce();
Но это не сработало. Статическая переменная $pluginInstance имеет значение null при втором вызове, как будто это другой запрос.


Подробнее здесь: https://stackoverflow.com/questions/627 ... lled-twice

Вернуться в «Php»