私はwp-load.php
を含むカスタムPHPファイルでwordpress関数を使用していますが、ブラウザから実行しても問題ありませんが、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がそのインストールに縛られているのであなたがWordPress設定に属するURLからそれを実行しなければならないということです