- 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細)
プラグイン・コンテンツディレクトリを特定する
WordPress プラグインのコードを書いている時、WordPress インストール内やプラグイン・テーマのさまざまなファイルやフォルダを参照しなくてはいけないことがよくあります。
WordPress は、あるファイルやディレクトリがどこにあるのかを簡単に決定できる関数をいくつか提供しています。プラグイン内で wp-content ディレクトリへの参照を決め打ちで書いたり、WordPress の内部定数を使ったりする代わりに、常にこれらの関数を使うようにしましょう。
WordPress はユーザーが wp-content ディレクトリを好きな位置に置けるようにしているのを忘れないことが重要です。プラグインが wp-content/plugins ディレクトリに存在することや、アップロードしたファイルが wp-content/uploads に置かれていることや、テーマファイルが wp-content/themes の中にあることを当然と思うのは絶対に避けなければなりません。
上記に関連しますが、PHP の __FILE__
マジック定数はシンボリックリンクを自動的に解決するため、もし wp-content、wp-content/plugins、または個別のプラグインディレクトリがシンボリックリンクされている場合、これらの関数は正しく動作しません。
プラグインが JavsScript ファイルや CSS ファイルや他の外部ファイルを含む場合、ページへ読み込むためにそれらのファイルの URL が必要となることがよくあるでしょう。そのためには plugins_url() を使って次のようにします:
plugins_url( 'myscript.js', __FILE__ );
これは myscript.js への完全 URL を返します。例えば example.com/wp-content/plugins/myplugin/myscript.js のようになります。
プラグインの JavaScript や CSS をページへ読み込むには、それぞれ wp_enqueue_script() や wp_enqueue_style() を使うべきです。その時にファイルの URL として plugins_url() の戻り値を渡します。
利用可能な関数
WordPress はプラグインやテーマや WordPress 自体のファイルやディレクトリのパスおよび URL を決定する関数を他にもたくさん持っています。それらの詳しい使い方については各関数の個別 Codex ページを見てください。
プラグイン
plugins_url() plugin_dir_url() /en plugin_dir_path() /en plugin_basename()
テーマ
get_template_directory_uri() get_stylesheet_directory_uri() get_stylesheet_uri() get_theme_root_uri() /en get_theme_root() get_theme_roots() /en get_stylesheet_directory() get_template_directory()
サイトホーム
home_url() get_home_path() /en
WordPress
admin_url() site_url() content_url() /en includes_url() /en wp_upload_dir() /en
マルチサイト
get_admin_url() /en get_home_url() get_site_url() network_admin_url() /en network_site_url() /en network_home_url()
定数
WordPress はコンテンツやプラグインディレクトリのへのパスを決定するために以下の定数を使います。これらをプラグインやテーマ内で直接使うべきではありませんが、情報の完全性を期するためにここへ記載します。
WP_CONTENT_DIR // 最後のスラッシュなし、フルパスのみ WP_CONTENT_URL // フル URL WP_PLUGIN_DIR // フルパス、最後のスラッシュなし WP_PLUGIN_URL // フル URL、最後のスラッシュなし // マルチサイトの場合にデフォルトで利用可能、シングルサイトのインストールでは未設定 // シングルサイトのインストールで利用しても構わない(いつものごとく自己責任で) UPLOADS // (セットされるなら ABSPATH からの相対パスで表した uploads フォルダ) (例えば /wp-content/uploads)
関連項目
WordPress ディレクトリ: | ||
home_url() | ホーム URL | http://www.example.com |
site_url() | サイトディレクトリ URL | http://www.example.com または http://www.example.com/wordpress |
admin_url() | 管理画面ディレクトリ URL | http://www.example.com/wp-admin |
includes_url() /en | インクルードディレクトリ URL | http://www.example.com/wp-includes |
content_url() /en | コンテンツディレクトリ URL | http://www.example.com/wp-content |
plugins_url() /en | プラグインディレクトリ URL | http://www.example.com/wp-content/plugins |
wp_upload_dir() /en | アップロードディレクトリ URL (配列を返す) | http://www.example.com/wp-content/uploads |
最新英語版: WordPress Codex » Determining_Plugin_and_Content_Directories (最新版との差分)