WordPress のプラグインをコーディングするとき、WordPress のインストレーション全体やプラグインやテーマ内の、さまざまなファイルやフォルダーを参照する必要があります。
WordPress には、指定したファイルやディレクトリの場所を簡単に特定するための関数がいくつか用意されています。プラグインでは、wp-content ディレクトリへの参照をハードコーディングしたり、WordPress の内部定数を使用したりする代わりに、常にこれらの関数を使用してください。
wp-content/
や wp-content/plugins/
、あるいは個々のプラグインディレクトリがシンボリックリンクされている場合、PHP のマジック定数 __FILE__
は、シンボリックリンクを自動的に解決しますが、ハードコードされたパスは正しく動作しません。
一般的な使い方
プラグインに JavaScript ファイル、CSS ファイル、その他の外部ファイルが含まれている場合、ページに読み込むためにこれらのファイルの URL が必要になる可能性があります。これを行うには、plugins_url() 関数を次のように使用します:
plugins_url( 'myscript.js', __FILE__ );
これは、example.com/wp-content/plugins/myplugin/myscript.js
のように、myscript.js への完全な URL を返します。
プラグインの JavaScript または CSS をページに読み込むには、それぞれ wp_enqueue_script()
または wp_enqueue_style()
を使用し、plugins_url()
の結果をファイルの URL として渡します。
利用可能な関数
WordPress には、プラグイン、テーマ、WordPress 自体のファイルやディレクトリへのパスや URL を特定するための機能が他にもたくさんあります。各関数の使い方については、それぞれの Developer Resources ページを参照してください。
プラグイン
テーマ
get_template_directory_uri()
get_stylesheet_directory_uri()
get_stylesheet_uri()
get_theme_root_uri()
get_theme_root()
get_theme_roots()
get_stylesheet_directory()
get_template_directory()
サイトのホーム
WordPress
マルチサイト
get_admin_url()
get_home_url()
get_site_url()
network_admin_url()
network_site_url()
network_home_url()
定数
WordPress は、コンテンツとプラグインのディレクトリへのパスを特定する際に、以下の定数を使用します。これらはプラグインやテーマによって直接使用されるべきものではありませんが、万全を期すためにここに列挙します。
WP_CONTENT_DIR // no trailing slash, full paths only
WP_CONTENT_URL // full url
WP_PLUGIN_DIR // full path, no trailing slash
WP_PLUGIN_URL // full url, no trailing slash
// Available per default in MS, not set in single site install
// Can be used in single site installs (as usual: at your own risk)
UPLOADS // (If set, uploads folder, relative to ABSPATH) (for e.g.: /wp-content/uploads)
関連
WordPress ディレクトリ
関数 | ディレクトリ | |
---|---|---|
home_url() | ホームの URL | https://www.example.com |
site_url() | Site ディレクトリの URL | https://www.example.com または https://www.example.com/wordpress |
admin_url() | Admin ディレクトリの URL | https://www.example.com/wp-admin |
includes_url() | Includes ディレクトリの URL | https://www.example.com/wp-includes |
content_url() | Content ディレクトリの URL | https://www.example.com/wp-content |
plugins_url() | Plugins ディレクトリの URL | https://www.example.com/wp-content/plugins |
wp_upload_dir() | Uploads ディレクトリの URL (配列を返す) | https://www.example.com/wp-content/uploads |