WordPress MU のライブラリを CLI から使う時の注意

このブログではないのですが、ktai_entry の inject.php を使って受信したメールから記事を投稿できるようにしました :mrgreen:
その時に気がついた事です。

inject.php から WordPress MU のファイルを沢山読み込むのですが、
その中に wpmu-settings.php ファイルがあります。

wpmu-setings.php の中に以下の記述があり、WordPress MU は CLI から利用する事を想定していないようです。

if( defined( "WP_INSTALLING" ) == false && constant( 'VHOST' ) == 'yes' && !is_
object( $current_blog ) ) {
// NOBLOGREDIRECT が define されていたら NOBLOGREDIRECT へリダイレクト
// NOBLOGREDIRECT が define されていないならサインアップへリダイレクト
die();
}

つまり CLI からアクセスすると wpmu-settings.php を読み込んだ時点で die() してしまいます。

CLI のときには上記処理へ行かないようにして回避しました。

if( defined( "WP_INSTALLING" ) == false && constant( 'VHOST' ) == 'yes' && !is_
object( $current_blog ) && isset($_SERVER['REQUEST_METHOD']) ) {
// NOBLOGREDIRECT が define されていたら NOBLOGREDIRECT へリダイレクト
// NOBLOGREDIRECT が define されていないならサインアップへリダイレクト
die();
}

使っている WordPress MU のバージョンは 2.7.0 です。

他にもいくつか気がついて手を加えた箇所があるので暇を見て書いく予定です 🙂