🐷

<echo get_theme_file_uri>と<echo get_template_directory_uri>の違い

に公開

こんにちは。フリーランス1年目のたなかです。
今回は<echo get_theme_file_uri><echo get_template_directory_uri>の違いについて深ぼっていきたいと思います。

皆さんはcssのファイルを読み込むときや画像を読み込むときは<echo get_theme_file_uri><echo get_template_directory_uri>のどちらを使っていますか?
サイトとか見ると<echo get_theme_file_uri>使っている人多いし、なんとなくこっちでいっか!という人も少なくないと思います。そこで今回はこの2つの違いについて解説していこうと思います!

対象読者

  • WordPress初学者の方
  • テンプレートタグについて詳しく知りたい方

結論:迷ったら get_theme_file_uri() を使おう!

関数名 子テーマ対応 使いどころ
get_template_directory_uri() ❌ 親テーマのみ 親テーマのファイルを読み込みたいとき
get_theme_file_uri() ✅ 子テーマにも対応 親子テーマどちらにも対応したいとき(おすすめ!)

それぞれの意味を解説!

get_template_directory_uri()

親テーマのURLを取得する関数です。
例)親テーマの style.css を読み込む:

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

###get_theme_file_uri()
現在有効なテーマのファイルURLを取得する関数です。

例)子テーマに css/style.css があるとき:

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

もし子テーマにそのファイルがあれば、そっちを優先してくれます!

どっちを使えばいいの?

  • 子テーマを使う予定がある・将来拡張したい → get_theme_file_uri() を使おう!
  • 親テーマしか使わない前提で作っている → get_template_directory_uri() でもOK

まとめ

比較項目 get_template_directory_uri() get_theme_file_uri()
子テーマ対応 ❌ しない ✅ する
柔軟性
おすすめ度 ◎(初心者はこれでOK)

僕はずっとこの2つがあいまいでどちらを使えばいいのかわからず適当にget\_template\_directory\_uri()を使っていました(笑)
これからは1つ1つ理解して楽しくコードを書いていきましょう!

Discussion