get_template_directory_uri()get_stylesheet_directory_uri()は、WordPressのテーマなどをカスタマイズするときに使う、パスを取得する関数です。

 

この2つの関数は要するに、WordpressテーマがあるディレクトリのURLを取得することが出来るのですが、全く同じであればわざわざ2つの関数を用意する必要は無く、これらは意味合いが微妙に異なります。

 

get_template_directory_uri()とget_stylesheet_directory_uri()の違い

まずはget_template_directory_uri()get_stylesheet_directory_uri()の意味合いについてです。

get_template_directory_uri()の意味

get_template_directory_uri()は現在有効化しているWordPressテーマ、もしくは親テーマのテーマディレクトリのURLを取得します。

 

get_stylesheet_directory_uri()の意味

get_stylesheet_directory_uri()は、現在有効化しているWordPressテーマのテーマディレクトリのURLを取得します。

 

つまり、

get_template_directory_uri()get_stylesheet_directory_uri()は、通常のカスタマイズしていないテーマを使っている場合は、同じURLを返しますが子テーマを使ってカスタマイズしている場合は違うURLを返します。

 

通常のカスタマイズしていないテーマを使っている場合

 

例えば僕のこのブログの場合で言うと、

<?php echo get_template_directory_uri() ?>

とやると、http://nb-style.info/wp-content/themes/nbstyle4 と言うURLが表示されます。

 

<?php echo get_stylesheet_directory_uri() ?>

とやっても同じくhttp://nb-style.info/wp-content/themes/nbstyle4 と言うURLが表示されます。

 

現在有効化しているWordPressテーマ、もしくは親テーマのテーマディレクトリのURL

=(イコール)

現在有効化しているWordPressテーマのテーマディレクトリのURL

だからです。

 

子テーマを使ってカスタマイズしている場合

 

これが例えば僕の作った賢威7の3カラムの場合 子テーマを使ってカスタマイズしていますので、

<?php echo get_template_directory_uri() ?>

とやると、http://nb-style.info/wp-content/themes/nbstyle4 と言うURLが表示されます。

 

しかし、

<?php echo get_stylesheet_directory_uri() ?>

とやると、http://nb-style.info/wp-content/themes/nbstyle4_child と言うURLが表示されます。

 

子テーマを使用しているときは、

現在有効化しているWordPressテーマ、もしくは親テーマのテーマディレクトリのURL

=(イコール)

現在有効化しているWordPressテーマのテーマディレクトリのURL

ではないからです。

 

親テーマのテーマディレクトリURLは、http://nb-style.info/wp-content/themes/nbstyle4

現在有効化しているWordPressテーマのテーマディレクトリURLは、子テーマを有効化しているので、http://nb-style.info/wp-content/themes/nbstyle4_child、だからです。

 

 

2つの関数の違い まとめ

get_template_directory_uri()get_stylesheet_directory_uri()の2つの関数が取得するURLは、使用しているテーマに親子関係があるかないかで決まってきます。

 

  • カスタマイズ無しの通常テーマ使用時は、get_template_directory_uri()とget_stylesheet_directory_uri()、共に同じURLを返す。
  • 子テーマを使ってカスタマイズしている場合は、テーマに親子関係が成立するので、
    get_template_directory_uri()は親テーマのディレクトリURLを取得し、get_stylesheet_directory_uri()は子テーマのディレクトリURLを取得します。

 

 

最新ネットビジネス速報をいち早くお届け!

有益な情報を最新で配信しています。

メルマガ登録