Инициализация окружения WordPress для использования в скрипте командной строки
У меня есть скрипт командной строки для обслуживания плагина WordPress, и мне нужно загрузить ядро WordPress, чтобы иметь доступ к его функциям.
Эта проблема очень похожа на Инициализация окружения WordPress для использования в реальном cron-скрипте. Однако она отличается тем, что в упомянутом вопросе речь идет об использовании с (реальным) cron-скриптом, который может быть реализован иначе, чем запуск PHP-скрипта из командной строки. Поскольку на упомянутый вопрос уже есть ответ, который не удовлетворяет моим потребностям, я создал этот вопрос.
Итак, что необходимо сделать в скрипте командной строки для инициализации окружения WordPress?
Связанные вопросы

Я пришел к следующему решению. Скрипт должен начинаться со следующего кода.
<?php
if( php_sapi_name() !== 'cli' ) {
die("Предназначен для запуска из командной строки");
}
function find_wordpress_base_path() {
$dir = dirname(__FILE__);
do {
// здесь можно проверять наличие других файлов
if( file_exists($dir."/wp-config.php") ) {
return $dir;
}
} while( $dir = realpath("$dir/..") );
return null;
}
define( 'BASE_PATH', find_wordpress_base_path()."/" );
define('WP_USE_THEMES', false);
global $wp, $wp_query, $wp_the_query, $wp_rewrite, $wp_did_header;
require(BASE_PATH . 'wp-load.php');
Связанные материалы

Если вы не хотите заниматься сложным процессом ручной загрузки WordPress, вы можете просто использовать команду eval-file
в WP-CLI:
wp eval-file my-script.php
Файл my-script.php
может содержать любой вызов функции WordPress. Например:
<?php
global $wpdb;
echo implode( ' ', $wpdb->tables() ) . "\n";
