この記事は最後に更新してから1年以上経過しています。

パスとURL

説明

テーマやプラグインで、WordPressシステム関連のディレクトリやURLを使う時があり、それらの多くは関数や定数として定義されている。今回は、それらの関数や定数について整理していく。
具体的な関数や定数について説明する前提条件は次の通りとする。
環境(OS)ドキュメントルートディレクトリドメイン名
Linux/var/www/htmllocalhost
WindowsC:\Apache2\htdocslocalhost
またWordPressは、ドキュメントルートディレクトリにwpディレクトリを作成し、そのディレクトリの中にインストール。サイトのアドレス(URL)は、「http://localhost/wp」ではなく「http://localhost」とする。

ディレクトリ

ディレクトリ関連の定数としては次のものがある。
定数直接対応する関数格納されている値の例(Linux)格納されている値の例(Windows)
ABSPATH-/var/www/html/wp/C:\Apache2\htdocs.it2easy\wp/
WP_CONTENT_DIR-/var/www/html/wp/wp-contentC:\Apache2\htdocs.it2easy\wp/wp-content
WP_LANG_DIR-/var/www/html/wp/wp-content/languagesC:\Apache2\htdocs.it2easy\wp/wp-content/languages
WP_PLUGIN_DIR-/var/www/html/wp/wp-content/pluginsC:\Apache2\htdocs.it2easy\wp/wp-content/plugins
TEMPLATEPATH get_template_directory/var/www/html/wp/wp-content/themes/mythemeC:\Apache2\htdocs.it2easy\wp/wp-content/themes/mytheme
STYLESHEETPATH get_stylesheet_directory/var/www/html/wp/wp-content/themes/mythemeC:\Apache2\htdocs.it2easy\wp/wp-content/themes/mytheme
WPINC-wp-includeswp-includes
LANGDIR-wp-content/languageswp-content/languages

これらの中で比較的よく使うのがABSPATH。Windows環境であっても末尾にスラッシュ(/)が付いているのがポイントだろう。

注意したいのはWordPress 3.0から使用できるようになった子テーマにおけるTEMPLATEPATHとSTYLESHEETPATHの使い分け。子テーマでTEMPLATEPATHの値は親テーマのパス名になり、STYLESHEETPATHの値は子テーマのパス名になる。子テーマを作成する際はこの点は押さえておきたいポイントである。

URL

URL関連の関数や定数としては次のものがある。
URL定数関数格納されている値の例
WordPressのアドレス(URL) get_option('siteurl')
get_bloginfo('wpurl')
site_url( get_site_url)
-http://localhost/wp
サイトのアドレス(URL)get_option('home')
get_bloginfo('url')
home_url( get_home_url)
-http://localhost
wp_contentディレクトリのURL WP_CONTENT_URL-http://localhost/wp/wp-content
プラグインディレクトリのURL WP_PLUGIN_URL-http://localhost/wp/wp-content/plugins
現在のテーマ(子テーマの場合は親テーマ)のURL- get_template_directory_urihttp://localhost/wp/wp-content/themes/mytheme
現在のテーマのURL- get_stylesheet_directory_urihttp://localhost/wp/wp-content/themes/mytheme

WordPressのアドレス(URL)とサイトのアドレス(URL)を取得する方法は、それぞれいくつかの方法が用意されている。取得したURLにコンテンツのパスを付与する場合は、site_url関数やhome_url関数を使う方が便利だろう。

TEMPLATEPATHとSTYLESHEETPATHと同様に子テーマにおけるget_template_directory_uri関数とget_stylesheet_directory_uri関数の使い分けは押さえておきたいポイントである。子テーマでは、get_template_directory_uri関数で取得できるのは親テーマのURLであり、自身のURLはget_stylesheet_directory_uri関数を使わなければならない。

その他

このように様々な定数・関数があるわけだが、最後にもう1つ wp_upload_dir関数について触れておく。これは、アイキャッチ画像や投稿の添付ファイルの保存先のパス名やURLを取得する関数である。取得できる情報は連想配列になっており、対応するキー名を指定して使用する。
$upload_info = wp_upload_dir();
echo $upload_info['path']; // アップロード先パス名
echo $upload_info['url']; // アップロード先URL

こんな感じで、パスやURLに関係する定数や関数はけっこうたくさんある。中には勘違いしやすいのもあるので、きちんと覚えておきたい。


最終更新 : 2011年10月06日 21:23


お勧め

get_the_post_thumbnail_caption(2018年5月27日 更新)

string get_the_post_thumbnail_caption( mixed $post = null )
投稿ページのサムネイル(アイキャッチ画像)キャプションを取得する。

wp_enqueue_style(2019年11月25日 更新)

void wp_enqueue_style( string $handle [ , string $src = false [ , array $deps = array() [ , string $ver = false [ , string $media = 'all' ] ] ] ] )
使用するスタイルシート(CSS)を出力用のキューに入れる。パラメータ$srcが指定された場合は、グローバル変数$wp_stylesに登録してから出力用のキューに入れる。

post_class(2018年5月27日 更新)

void post_class( [ string $class = '' [ , int $post_id = null ] ] )
投稿情報の種別に応じたクラス属性(class="post-?? post ...")を表示する。具体的なクラス名は、投稿ID(post-番号)、投稿種別(postやpage)、カテゴリー(category-名前)、タグ(tag-名前)などがある。これらクラス名に合わせたCSSを準備することで、投稿ページのユニークなデザインが表現可能になる。

get_header(2020年8月18日 更新)

void | false get_header( [ string $name = null [ , array $args = array() ] ] )
ヘッダパーツを記述したメインヘッダファイルheader.php(またはサブヘッダファイルheader-???.php)を読み込む。

get_the_excerpt(2018年5月27日 更新)

string get_the_excerpt( [ mixed $post = null$deprecated = '' ] )
投稿情報の抜粋記事を取得する。