Использование функционала WordPress вне его инсталляции (подключаем ядро WordPress)
Иногда бывает необходимость использовать функции WordPress из какого-нибудь PHP-файла, который ничего не знает о существовании движка. Для этого нужно загрузить среду WordPress.
Самый минимальный вариант:
define( 'SHORTINIT', true );
require_once( $_SERVER['DOCUMENT_ROOT'] . '/wp-load.php' );
Показать код
Использует примерно 810 208 байт памяти. При такой загрузке среды будет работать очень мало функций WP, но зато можно работать с базой данных.
Средний вариант:
require_once( $_SERVER['DOCUMENT_ROOT'] . '/wp-load.php' );
Показать код
Использует примерно 17 184 104 байт памяти.
И максимальный по функционалу и размеру загружаемых файлов вариант:
require_once( $_SERVER['DOCUMENT_ROOT'] . '/wp-blog-header.php' );
Показать код
Использует примерно 17 238 456 байт памяти.
Цифры используемой памяти для каждого сервера и даже для каждого запуска скрипта будут отличаться. Они приведены просто для наглядности.
Во всех случаях в строке require_once
должен быть указан полный путь на сервере до соответствующего файла загрузки среды WP. Иногда этот полный путь лучше получить так:
require_once( explode( 'wp-content', __DIR__ )[0] . 'wp-load.php' );
Показать код
В зависимости от того, какой функционал WordPress вы собираетесь использовать в своем PHP-скрипте, вам может подойти тот или иной вариант. Пробуйте их по очереди, начиная с минимального.
Если на вашем сервере установлен WP-CLI, то можно не заморачиваться с загрузкой среды WP из PHP-скрипта, а просто запустить его из консоли такой командой:
wp eval-file my-script.php