WordPressでプラグインのパスを取得する方法についての覚え書きです。
plugin_dir_path関数ではプラグインディレクトリは取得できない
その名前で混同しがちですが、plugin_dir_path()
関数はプラグインのディレクトリを取得する関数ではありません。
$plugin_path = plugin_dir_path(__FILE__);
echo $plugin_path;
のように、ファイル名を指定してプラグインディレクトリを取得する例として紹介されることも多くありますが、例えばテーマディレクトリのfunctions.php
などでこの記述を行うと、返ってくるのはfunctions.php
のパスになってしまいます。
実際、WordPressのソースコードでは、このplugin_dir_path
関数は以下のように記述されており、単純に指定されたファイルの所在するディレクトリ名とスラッシュ文字を付加した文字列を返すような動作になっています。
function plugin_dir_path( $file ) {
return trailingslashit( dirname( $file ) );
}
functions.phpによるテーマのカスタマイズなど、プラグインディレクトリ以外で情報を取得したい場合は、WP_PLUGIN_DIR
の値が使えます。
$plugin_path = WP_PLUGIN_DIR.'/your-directory/';
echo $plugin_path;
その他のディレクトリ定数には以下のようなものがあります。
WP_CONTENT_DIR // コンテンツディレクトリまでのフルパス、末尾のスラッシュなし
WP_CONTENT_URL // コンテンツディレクトリまでのURL
WP_PLUGIN_DIR // プラグインディレクトリまでのフルパス、末尾のスラッシュなし
WP_PLUGIN_URL // プラグインディレクトリまでのURL
コメント