Я использую функции wordpress в пользовательском php-файле, включая wp-load.php
, запускаюсь из браузера, это нормально, но запускать из командной строки с помощью php /path/.php
wp-load.php
вызывает проблемы:
Warning: Cannot modify header information - headers already sent in /../wp-includes/ms-settings.php on line 162
пример кода для воспроизведения:
echo 'something'; require "/../wp-load.php";
WordPress имеет библиотеку командной строки WP-CLI . Вы можете расширить его, чтобы создать свои собственные команды. Я бы рекомендовал это для любой работы в командной строке.
Я решил это, используя другой файл php для использования из командной строки с помощью только такой строки:
file_get_contents('url to file I want to run');
проблема с использованием функции wordpress в файлах вне wordpress заключается в том, что wordpress привязан к его установке, поэтому вы должны запустить его из URL-адреса, принадлежащего установке wordpress, я думаю