WordPressで素のPHPファイルを実行する

前回のエントリに関連してなんですが、WordPressの中でindex.phpとかarchive.phpなどのテンプレート以外の素のPHPファイルを扱う方法をまとめてみます。

やりたい事

wp-content/themes/sample-theme/game/index.php で、WordPressの関数を利用できるようにする。

wp-config.php を読みこむだけ

下記のようにwp-config.phpを読み込むだけで終了です。とても簡単ですね。

wp-content/themes/sample-theme/game/index.php

<?php
require_once( dirname( dirname( dirname( dirname( dirname( __FILE__ ) ) ) ) ) . '/wp-config.php' );
?>

get_header/get_footer・get_posts等のWordPressの関数はもちろんプラグインで提供されている関数やfunctions.phpで自分で定義した関数も利用できるようになります。

これでhttp://localhost/wp-content/themes/sample-theme/game/でアクセスすればOKです。もしhttp://localhost/game/などのようにURLを書き換えたい場合は前回のエントリを参考にしてみて下さい。

注意)wp-blog-header.phpは使わないようにしよう

ググっているとwp-configではなくwp-blog-header.phpを読み込む例も見つかるのですが、パーマリンク設定を変更したりするとHTTPステータスコードがwp-blog-header.phpを読み込んだ際になぜか404で返るようで問題があります。過去にハマりました。