Испозование dbDelta WordPress из стороннего файла при подключении фреймворка с короткой инициализацией(SHORTINIT true) и без неё.

Обычно фреймворк WordPress из стороннего файла подключается просто как require_once $_SERVER['DOCUMENT_ROOT'] . "/wp-load.php"; при этом установкой константы до указанной строчки можно использовать краткое подключение фреймворка. Делается это установкой константы define('SHORTINIT', true); таким образом фреймворк WordPress подключит более чем в 2 раза меньше файлов. И даже такого варианта подключения фреймворка будет достаточно чтобы использовать $wpdb и делать запросы к базе данных например на получение, добавление и обновление записей. При этом если дополнительно потребуется иметь возможность создавать таблицы в базе данных, для чего в WordPress используется функция dbDelta потребуется, без установки константы SHORTINIT дополнительно подключить php файл строчкой require_once $_SERVER['DOCUMENT_ROOT'] . "wp-admin/includes/upgrade.php"; а в случаи короткого подключения фреймворка, подключение последнего файла приведёт к ошибке. Когда я писал библиотеку которая должна была работать с базами данных таких CMS как Joomla, Bitrix и Wordpress имело значение что не зависимо от того каким способом подключался фреймворк, библиотека всё равно бы определила достаточность подключения его файлов и в случаи необходимости подключила бы необходимые, в том числе и для использования функции bdDelta. Как раз в следующем коде демонстрируется как можно вне зависимости от способа подключения фреймворка WordPress использовать функцию dbDelta подключая необходимые недостающие файлы фреймворка только тогда - когда они нужны.

Данный PHP код протестирован на версии WordPress 5.3 и PHP 7.0.

Комментарии

Если у Вас возникли вопросы, Вы можете задать их в форме ниже. В частности если Ваш вопрос по Bitrix и что то не получается - можно спросить. Ваш e-mail не публикуется, при этом я отвечу на него если будет что то по теме. Писать необходимо для людей - избегайте сленга, пишите орфографически правильно.

Имя:
E-mail:
Текст комментария:

Вы так же можете прочитать следующие статьи: