wp eval-file

Загружает и выполняет файл PHP.

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

Смотрите также wp eval

Исходный код команд

Использование

wp eval-file {file} [{arg}...] [--skip-wordpress]

Можно указать Глобальные параметры и следующие:

{file}
Путь к файлу PHP для выполнения. Используйте '-' для запуска кода из стандартного ввода (STDIN).
[{arg}...]
Один или несколько аргументов для передачи в файл. Их можно затем получить в запускаемом файле в переменной $args.
[--skip-wordpress]
Выполнение кода файла без загрузки WordPress.

Примеры

#1 Демонстрация

Запустим в корне сайта файл work.php, передадим параметры param1 и param2 и запретим загрузку WordPress:

wp eval-file work.php param1 param2 --skip-wordpress

Содержимое файла work.php:

<?php
print_r($args);
/* Выдаст в консоли
Array
(
	[0] => param1
	[1] => param2
)
*/

print_r($_SERVER['argv']);
/* Выдаст в консоли
Array
(
	[0] => D:\server72\modules\wp-cli\wp-cli.phar
	[1] => eval-file
	[2] => work.php
	[3] => param1
	[4] => param2
	[5] => --skip-wordpress
)
*/

#2 Выполним несколько команд CLI из файла

Код пригодится при переносе сайта с локального (тестового) сервера на боевой. Импортируем бэкап базы данных (файл db.sql) и делаем замену старого домена на новый.

wp eval-file work.php --skip-wordpress

Содержимое файла work.php:

<?php
$commands = [
	'wp db import db.sql',
	'wp search-replace old-domain.com new-domain.com'
];

foreach ( $commands as $command ) {
	echo "\n$command\n" . shell_exec( $command );
}