Intereting Posts
Что случилось с convertEntities? Как я могу изменить дату публикации? WordPress, изменяющий мой пользовательский запрос, как его исправить? Существует ли глобальное действие при удалении плагина? У меня проблема с сортировкой пользовательского типа сообщения с использованием WP_Query Как отображать запланированные сообщения на главной странице Создание галереи изображений в wordpress Я хочу фильтровать свои продукты с помощью атрибутов Как переопределить .htaccess с новыми правилами без ftp или отредактировать его вручную У меня проблема с моей БД WordPress после того, как я попытался установить многосайтовый Является ли серия обновлений update_option безопасными, эффективными? Каков наилучший способ хранения данных, созданных пользователем? Захват таксономических терминов и вставка их в массив Справка с .htaccess перенаправляет проблему, когда WordPress находится в подпапке Измените пункт меню верхнего уровня, чтобы указать на пользовательский элемент подменю

Включение «wp-load.php» после другого include () генерирует ошибку

Я знаю все минусы попытки включить wp-load.php, но несут со мной 🙂

Я пытаюсь создать свои собственные функции, подобные админам, таким образом, чтобы я мог контролировать, загружаю ли я среду WordPress по умолчанию, загружаю ли SHORTINIT константу SHORTINIT определенную как true, и с гранулированным контролем над каждым модуль моего подключаемого модуля, как того требует доступ к определенной функции через AJAX. Единственный способ, которым я могу это сделать, – сделать AJAX через специальный файл, кроме admin-ajax.php, а затем, в случае необходимости, включить wp-load.php.

Я действительно использовал его успешно в течение нескольких месяцев. Я назвал файл bootstrap.php , и он находится внутри моего плагина 'includes'. Требование wp-load.php изнутри bootstrap.php будет загружать WP просто отлично.

Сегодня я решил, что мне нужно больше контроля, поэтому я попытался отложить запрос на wp-load.php когда загрузил файлы, содержащие функции AJAX. Эти файлы вызываются внутри bootstrap.php с include() , но при этом wp-load.php внутри этих файлов генерирует следующую ошибку:

 Notice: Undefined variable: wpdb in .../wp-includes/ms-settings.php on line 126 Fatal error: Call to a member function set_prefix() on a non-object in .../wp-includes/ms-settings.php on line 126 

Проблема возникает при загрузке WP, поэтому очевидно, что вызов require() указывает на правильное расположение файла wp-load.php . Вызов из файла запроса URL-адреса работает нормально, но вызывая его после того, как include() разбивает всю вещь … любые идеи, почему?

Заранее спасибо!

Другой способ его фиксации:

 function load_wp(){ global $wpdb; include_once('wp-load.php'); } 

Ну, оказывается, это проблема переменной сферы. Я обнаружил, что $wpdb загружался нормально, но был недоступен вне функции, которая сгенерировала его, так что это привело меня к решению: includes() я упоминаю в вопросе, выполняются внутри функции, с локальными (не глобальными ) объем. Я уверен, что это было бы проблемой для всех глобальных переменных WP, но $ wpdb был первым, кто создал фатальную ошибку.

Я не упоминал, что загружал wp-load.php из функции, потому что я действительно не знал, что это важно. Поэтому помните, дети: не включайте wp-load.php , но если вы это сделаете, не делайте этого изнутри функции .