get_template_directory_uriとget_stylesheet_directory_uriの違いについて

公開日 :

カテゴリー :

WordPressのテーマ開発で、CSSやJSのURLをセットするときに使うget_template_directory_uri()という関数があります。get_template_directory_uri()はWordPressテーマディレクトリまでのURLを取得する関数ですが、似たような関数でWordPressテーマディレクトリまでのURLを取得できるget_stylesheet_directory_uri()という関数もあります。

WordPressテーマディレクトリまでURLを取得できるget_template_directory_uri()とget_stylesheet_directory_uri()にはどのような違いがあるのでしょう。

2つはどのように違うのか

get_template_directory_uri()とget_stylesheet_directory_uri()の違いは、WordPressテーマの親子関係にあります。get_template_directory_uri()は有効化しているWordPressテーマもしくは親テーマのテーマディレクトリURLを取得し、get_stylesheet_directory_uri()は、有効化しているWordPressテーマのテーマディレクトリURLを取得します。

get_template_directory_uri()をもう少し細かくいうと、親テーマで使用した場合は、get_stylesheet_directory_uri()と変わらずに有効化してあるWordPressテーマのテーマディレクトリURLの取得します。小テーマで使用した場合は、子テーマのstyle.cssに書かれている「Template」をみてテーマディレクトリURLを取得しています。

この違いをみるために以下のようなWordPressのテスト親テーマ、テスト子テーマを作りました。Gistのファイル名の都合でparentとchildがついてますが、実際にためしているときは、親テーマ・小テーマともにindex.phpとstyle.cssで試しています。

親テーマ

子テーマ

親テーマの場合

親テーマの場合

get_template_directory_uri()とget_stylesheet_directory_uri()どちらも同じ結果です。

子テーマの場合

小テーマの場合

get_template_directory_uri()とget_stylesheet_directory_uri()が違います。get_template_directory_uri()は親テーマのテーマディレクトリURLを出力しget_stylesheet_directory_uri()は子テーマのテーマディレクトリURLを出力しています。

まとめ

get_template_directory_uri()とget_stylesheet_directory_uri()の違いについて紹介しました。WordPressのテーマ開発をするときはget_template_directory_uri()は親テーマで使い、get_stylesheet_directory_uri()子テーマで使うといった感じに分けるといいでしょう。

WordPressテーマのディレクトリパスを取得するget_template_directory()とget_stylesheet_directory()にもおなじことが言えるのでこちらも使い分けをしましょう。

URL

ピンバック

コメント

名前とEメールアドレスが必須です。

以下のHTMLタグが使用できます。 <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>