ワードプレスで自身のプラグインのURLを取得する方法を解説いたします。

自身のプラグインのディレクトリのURLを取得する

ワードプレスでプラグインを制作している場合に、そのフォルダのJSやスタイルシートをURLで参照したい時があります。
この場合、plugin_dir_url関数で自身のプラグインフォルダのURLを取得できます。

echo plugin_dir_url( __FILE__ );

上記コードは、現在実行中のPHPファイルの、一つ上の階層のURLを出力します。
つまり、プラグインのフォルダ直下にあるPHPファイルで上記コードが実行されると

http://サイトのURL/wp-content/plugins/プラグインフォルダ名/

のような出力、その一つ下のフォルダ(プラグインのサブフォルダ)にこのPHPファイルがある場合は下記のような出力になります。

http://サイトのURL/wp-content/plugins/プラグインフォルダ名/一つ下のフォルダ/

__FILE__、__DIR__
この指定はPHPがファイルの実行時に__FILE__ の場合そのファイルがあるローカル絶対パスに置き替えされます。__DIR__の場合そのファイルが入っているフォルダのローカル絶対パスに置き替えされます。
つまり、下記のようなプログラムの場合

echo plugin_dir_url( __FILE__ );

そのPHPが実行されるときに

echo plugin_dir_url( "/var/www/html/wp-content/plugins/myplugin/aaa.php" );

のように変換されて実行されるということになります。

一つ下の階層からプラグインの親フォルダのURLを取得するには?

plugin_dir_urlは指定したファイルもしくはフォルダの絶対パスの一つ上の階層をURLに変換して返してくれる関数です。
つまり一つ下の階層にあるPHPプログラムから、一つ上の階層のプラグインフォルダのURLを取得したい場合は下記のようにします。

echo plugin_dir_url( __DIR__ );

__DIR__はそのファイルが入っているフォルダのローカル絶対パスに置き替えされますので、そのフォルダの一つ上のフォルダ(プラグインのサブフォルダの親フォルダ)のURLが取得できるようになります。

ご参考になりましたら幸いです。

WordPress ワードプレスのテーマやプラグインの作成・カスタマイズ、バグ修正のご依頼・ご相談はWPドクターまでお気軽にお送りください