WordPress テーマへのパス・URI・URLの取得をまとめてみた

WordPressをカスタマイズするようになると、テーマ内のファイルにアクセスすることも多くなるはずです。
どの時どのタグを使えばいいんだっけ?
長いし、似てるし、ややこしくて、ホントに覚えきれない!
そう思っているのはボクだけではないはずです。

以前、「WordPressのテンプレートタグが覚えられないのでまとめてみた」でよく使うテンプレート側のタグをまとめたことがありましたが、今回は、パスURI・URLに絞って、まとめてみました。

パスとURLとURIの違い

この辺の違いを、区別しておかないと、ややこしくなってしまうので、個人的な解釈を含みますが、簡単に説明します。
「パス」とは、ファイルやフォルダのある場所を示すものです。
その中でも、「http://」や「https://」などで始まるパス全般を「URI」といいます。
「URI」の中でドメインといいますか、トップページにあたる部分を「URL」といいます。
パスの中にURIがあって、URIの中にURLがあり、URLはURIの一部で、さらにURIはパスの一部だということです。

結局、よくわからない人もいるかもしれませんが、「http://」や「https://」で始まるものを「URI」、それ以外を「パス」とここではさせていただきます。

  • パス… 「C:¥MAMP¥htdocs¥○○○¥wp-content¥themes¥○○○」 みたいなやつ。
  • URI…「http://」や「https://」で始まるやつ。

テーマへのパスを取得する

「include()」や「require()」などを使いたい場合ですね。

  • get_theme_file_path()
  • get_template_directory()
  • get_stylesheet_directory()

子テーマの場合

親テーマと同名のファイルがあった場合、子テーマのファイルが優先されます。

  • get_theme_file_path()
  • get_stylesheet_directory()

子テーマから親テーマのパスを取得する

親テーマのファイルが優先されます。

  • get_template_directory()
  • get_parent_theme_file_path()

テーマへのURIを取得する

画像表示やリンクなどで使いたい場合ですね。

  • get_theme_file_uri()
  • get_template_directory_uri()
  • get_stylesheet_directory_uri()

子テーマの場合

親テーマと同名のファイルがあった場合、子テーマのファイルが優先されます。

  • get_theme_file_uri()
  • get_stylesheet_directory_uri()

子テーマから親テーマのURIを取得する

親テーマのファイルが優先されます。

  • get_template_directory_uri()
  • get_parent_theme_file_rui()

まとめ

厳密には違いがあるのでしょうが、ほぼ同じ動作をするものがいくつもあります。
結局、どれを使うのがベストなのかはわかりません。
なぜか、ボクは、パスの場合は「get_theme_file_path()」。
uriの場合は「get_template_directory_uri()」を使ってました。

これからは、「get_theme_file_path()」 「get_theme_file_uri()」を使おうかなと思っています。
「_path」「_uri」のどちらかを付けるという規則性もわかりやすい。
「parent」を付ければ親テーマ、それ以外は子テーマ(現在のテーマ)という動作も、わかりやすい。
何といっても、文字数が一番短い上に、出てくる単語もスペルもわかりやすい!
スペル何だったかな?なんて悩むこともなくなりそうだな。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です