テーマディレクトリまでのURLを取得する get_stylesheet_directory_uri() と get_template_directory_uri() の違いを徹底解説

WordPressのテーマ開発で、テーマディレクトリ内においた画像やCSS、JavaScriptまでのURLを書くことはよくあります。テーマを開発するとまではいかなくても、子テーマを作ってデザインを少しだけ調整するなんていうかたも多いのではないでしょうか。そんなときに使うget_template_directory_uri() という関数がWordPressには用意されています。ところが、似たような関数でget_stylesheet_directory_uri() という関数もあります。この記事では、get_template_directory_uri() とget_stylesheet_directory_uri() の違いを実例つきで詳しく解説いたします。

この2つの関数の役割の違い

get_template_directory_uri() とget_stylesheet_directory_uri() の違いは、子テーマをつかっているときに影響してきます。get_template_directory_uri() は、有効化しているテーマもしくは親テーマのテーマディレクトリURLを取得し、get_stylesheet_directory_uri() は、有効化しているテーマのテーマディレクトリURLを取得します。

具体的にみていきましょう。

https://sample.comというサイトで、テーマ「Parent」を有効化しているとします。

1. <?php echo get_template_directory_uri(); ?>
2. <?php echo get_stylesheet_directory_uri(); ?>

で出力される結果は

1. https://sample.com/wp-content/themes/parent
2. https://sample.com/wp-content/themes/parent

となり、同じ結果が出力されます。

次に、同じサイトで、テーマ「Parent」に子テーマ「Child」を作って、「Child」を有効化しているとします。

1. <?php echo get_template_directory_uri(); ?>
2. <?php echo get_stylesheet_directory_uri(); ?>

で出力される結果は

1. https://sample.com/wp-content/themes/parent
2. https://sample.com/wp-content/themes/child

というようになります。

末尾にスラッシュを忘れなように

上述の結果からもわかるとおり、末尾にスラッシュは出力されません。

たとえば、テーマディレクトリ内にimages というフォルダをつくって、そこにlogo.png というファイル名の画像ファイルを保存したとします。この画像を表示するには、次のように記載します。

<img src="<?php echo get_template_directory_uri(); ?>/images/logo.png">

 

お問い合わせ・ご相談

お見積りのご依頼やそのほかのお仕事のご相談などはお問い合わせフォームからお問い合わせください。

お問い合わせする
会社案内ダウンロード

弊社の会社案内をPDFでご用意しております。社内での検討時などにご利用ください。

ダウンロードする

お電話でのお問い合わせはこちら

※電話番号はおかけ間違いのないようご注意ください。
※セールス目的のお電話はお断りしております。