• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

プラグイン・コンテンツディレクトリを特定する

提供: WordPress Codex 日本語版
移動先: 案内検索

WordPress プラグインのコードを書いている時、WordPress インストール内やプラグイン・テーマのさまざまなファイルやフォルダを参照しなくてはいけないことがよくあります。

WordPress は、あるファイルやディレクトリがどこにあるのかを簡単に決定できる関数をいくつか提供しています。プラグイン内で wp-content ディレクトリへの参照を決め打ちで書いたり、WordPress の内部定数を使ったりする代わりに、常にこれらの関数を使うようにしましょう。

WordPress はユーザーが wp-content ディレクトリを好きな位置に置けるようにしているのを忘れないことが重要です。プラグインが wp-content/plugins ディレクトリに存在することや、アップロードしたファイルが wp-content/uploads に置かれていることや、テーマファイルが wp-content/themes の中にあることを当然と思うのは絶対に避けなければなりません。

上記に関連しますが、PHP の __FILE__ マジック定数はシンボリックリンクを自動的に解決するため、もし wp-contentwp-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最新版との差分