【WordPress】テーマのディレクトリを取得する関数の違い|子テーマ・親テーマの場合

WordPressでサイトを作成しているとテーマのディレクトリを取得したい場合があると思います。

今回は、そのテーマのディレクトリを取得する関数の違いなどのまとめとなります。

テーマのディレクトリを取得する関数

テーマのディレクトリを取得する関数には、以下の4つがあります。

絶対パスを取得する関数

  • get_template_directory()
  • get_stylesheet_directory()

取得するパスの例

/home/user/public_html/wp-content/themes/my_theme

URIを取得する関数

  • get_template_directory_uri()
  • get_stylesheet_directory_uri()

取得するパスの例

https://example.com/wp-content/themes/my_theme

子テーマでテーマのディレクトリを取得する関数を利用

上記、テーマのディレクトリを取得する関数を親テーマで使用した場合、それぞれ、同じ絶対パス・URIを取得しますが、子テーマで使用した場合、以下のように異なるパスを取得します。

get_template_directory・get_template_directory_uriの場合

get_template_directory()・get_template_directory_uri()を、子テーマで使用した場合には、親テーマの絶対パス・URIを取得します。

get_stylesheet_directory・get_stylesheet_directory_uriの場合

get_stylesheet_directory()・get_stylesheet_directory_uri()を子テーマで使用した場合には、現在の子テーマの絶対パス・URIを取得します。

子テーマで、親テーマと子テーマのスタイルシートを追加する例

例えば、子テーマで親テーマのスタイルシートと、現在の子テーマのスタイルシートを追加する場合、子テーマのfunctions.phpに以下のソースコードを記述します。

function my_enqueue_styles(){
	// 親テーマファルダ内にあるstyle.cssを追加
	wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
	// 子テーマで、現在のテーマフォルダ内にあるstyle.cssを追加
	wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css',
		array('parent-style')
	);
}
add_action( 'wp_enqueue_scripts', 'my_enqueue_styles' );

また、スタイルシート追加するwp_enqueue_style関数については、以下のリンク先を参考にしてみてください。

参考サイトなど

コメント投稿またはTwitterで返信

コメントは、以下の項目(*は必須項目)を入力し「コメントを送信」ボタンから送信お願いします。メールアドレスは公開されることはありません。
Twitterで返信する場合はこちらから。

また、コメントは承認制となります。