MENU

get_template_directory_uri() とは?初心者向けに使い方をやさしく解説

WordPressのテーマを触っていると、CSSや画像、JavaScriptを読み込みたい場面がよく出てきます。

そんなときに使うのが get_template_directory_uri() です。

名前が長くて難しそうですが、やっていることはとてもシンプルです。


目次

get_template_directory_uri() とは何か?

get_template_directory_uri() は、現在使っているテーマフォルダのURLを取得するテンプレートタグです。

簡単に言うと、

「このテーマが置いてある場所のURLを教えてくれる」

関数です。


どんなときに使う?

主に次のような場面で使います。

  • CSSファイルを読み込む
  • JavaScriptファイルを読み込む
  • 画像ファイルのURLを指定する

テーマ内のファイルを指定するときの
基本中の基本です。


どのファイルで使う?

以下のような場所で使われます。

  • header.php
  • footer.php
  • index.php
  • functions.php
  • その他テンプレートファイル

「テーマ内のファイルを使いたい」
と思ったら、ほぼ出番があります。


基本的な使い方

画像を表示する例

<img src="<?php echo get_template_directory_uri(); ?>/images/sample.jpg" alt="">

これで、

  • 使用中のテーマフォルダ
  • その中の images フォルダ
  • sample.jpg

を正しく指定できます。


CSSファイルを読み込む例

<link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/css/style.css">

JavaScriptファイルを読み込む例

<script src="<?php echo get_template_directory_uri(); ?>/js/main.js"></script>

なぜ直接URLを書かないの?

初心者がやりがちな書き方がこれです。

<img src="/wp-content/themes/mytheme/images/sample.jpg">

この書き方だと、

  • テーマ名を変えた
  • サイトURLが変わった
  • サブディレクトリに移動した

ときに、一気に壊れます

get_template_directory_uri() を使えば、

  • 環境が変わっても
  • テーマ名が変わっても

URLを自動で正しく取得してくれます。


よくある勘違い

get_template_directory_url ではない

よく間違えられますが、

  • ❌ get_template_directory_url
  • ⭕ get_template_directory_uri()

です。

WordPressでは
URLは uri、サーバー上のパスは path
と覚えておくと混乱しません。


似た関数との違い

get_stylesheet_directory_uri() との違い

  • get_template_directory_uri()
    → 親テーマのURL
  • get_stylesheet_directory_uri()
    → 子テーマのURL

子テーマを使っている場合は、
get_stylesheet_directory_uri() を使うことが多いです。

初心者のうちは、

親テーマ → template
子テーマ → stylesheet

くらいの理解でOKです。


実務での使われ方

実務では、CSSやJavaScriptを直接書くよりも、functions.php で読み込むことが多いです。

function my_theme_scripts() {
  wp_enqueue_style(
    'style',
    get_template_directory_uri() . '/css/style.css'
  );
}
add_action('wp_enqueue_scripts', 'my_theme_scripts');

このように、他のテンプレートタグと組み合わせて使われることがほとんどです。


よくあるミス

echo を忘れる

<img src="<?php get_template_directory_uri(); ?>">

これだと何も表示されません。

取得系の関数なので、echo が必要です。


まとめ

  • get_template_directory_uri() はテーマフォルダのURLを取得する
  • 画像・CSS・JS指定で必須
  • 直接URLを書くより安全
  • echo を忘れない
  • 子テーマでは別の関数を使うことがある

初心者がテーマカスタマイズをする上で、
最初に覚えるべきテンプレートタグの一つです。


関連記事

  • テンプレートタグとは?
  • get_stylesheet_directory_uri() とは?
  • wp_enqueue_style とは?
  • functions.php とは?
  • 子テーマとは?
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

CAPTCHA


目次