テックトッパ テックトッパ

WordPressのURLやパスってどの関数で取得してる?

こんにちは!Office163のあべちゃんです!
今回はWordPressの「URLやパスの取得方法」について共有したいと思います!

WordPressでのURLやパスの取得ってhome_url()とかget_template_directory_uri()とかいろいろありますよね!使う方法によって使用関数も違ってくるわけですが、みなさんちゃんと理解して使い分けてますか?
コピペして「はいOK!」になってませんか?(過去の私)

URLやパスを取得するための関数は本来たくさんあるのですが、今回はサイト制作でよく使う項目に絞ってお話をしようと思います。
この記事を読んで、もし誰かに「ここのパスはどうしてこのコードでとってきたの?」と言われても自信満々に答えられるようになりましょう!

URLやパスの取得ってどういうこと?

WordPressではベタ打ちでアドレスを打たなくても「この関数でURLとってくるよ!」「この関数で使用テーマまでのパスとってくるよ!」といった便利な関数があります。
例えばホームページのアドレスが「https://example.com/」であるとして、このアドレスをコードにベタ打ちするのではなく特定の関数を使うことで引っ張ってこれます。

これによりテスト環境から本番環境に移行した際も「WordPressで設定したホームURL」を引っ張ってきてくれるので、わざわざコード上でアドレスの変更をする必要がなくなるわけです。便利ですね。
直打ちでも一括検索と一括置換すればいいのでは?と考えるかもしれませんが、関数を使えばその一手間すらいらないということです!

URLやパスの取得でよく使う関数一覧

それでは実際によく使う関数をいくつかご紹介したいと思います。

home_url()

ホームURLを取得します。
ホームURLとは管理画面で「サイトアドレス」に設定したアドレスで、トップページのアドレスとなります。

例えばサイトアドレスが「https://example.com」であれば、それが反映されます。
ただしスラッシュはついてこないので、スラッシュが必要な場合は home_url( ‘/’ ) と記述が必要です。

参考サイト:テンプレートタグ/home url – WordPress Codex 日本語版

よくにた関数にget_home_url()がありますが、基本的にhome_url()で大丈夫かと思います。

site_url()

サイトのディレクトリURL(WordPressのコアファイルが置かれている位置)を取得します。
管理画面の「WordPressアドレス(URL)」を取得します。
例えば「https://example.com/wp/」の中にWPが入ってて、このアドレスを使いたい場合はこちらになります。
これも最後のスラッシュはついてこないので、必要な場合はsite_url(‘/’)と記述が必要です。

get_template_directory_uri

これはテンプレートファイルまでのURIを取得します!
例えばテーマで使う画像や使うCSSとかのファイルを取得する時に便利な関数です。
URI?URLじゃないの?と思いますよね。

URLとは:Web上の住所
URNとは:Web上のあらゆるファイルの名前
URIとは:URLとURNの総称で、インターネット上のあらゆるファイルを識別する総称
参考サイト:URIとは?「URL」と「URI」の違いを解説!|ferret

ちょっと難しいですね。get_template_directory_uriで出力されるのはテーマファイルの場所(アドレス)なので、URLとほぼイコールと思ってもらって問題ないと思います。

WordPressってテンプレートファイルまでの階層深いですよね?
例えばですがexamole.com直下にWordPressが入ってるとして、テーマの中の画像のパスが必要ってなると階層は
example.com>wp-content>themes>theme_example>img>img.png
みたいになりますね。これだどhome_url()を使っても記述する箇所がたくさんになってしまいます。

get_template_directory_uriでは「使ってるテーマまでのパス」を取得してくれます。
上記の画像を取得したい場合は
<?php echo get_template_directory_uri(); ?>/img/img.pngを記述します。
出力されるコードは
https://example.com/wp-content/themes/theme_example/img/img.png
となります。

なので関数の後はimgからの指定でOK。なんて楽ちんなんでしょう!
もちろんサイトがお引っ越ししても問題ありません。

まとめ

  • サイトURLを使用する場合は関数を使うと便利
  • URLやパスを取得できる関数は複数ある
  • 関数によって取得できる階層が違う為使用する関数に注意

WordPressの関数はとてもたくさんあるのですが、テーマ作成でよく使う関数について絞ってお話をしてみました!なんとなく使ってるけどあってるのかな・・・?を脱出すべく、少しづつ理解を深めながら頑張りましょう!

ライター

コーディングを中心にウェブ制作を行なっています。初心者さんに寄り添った記事作成を心がけています。タコスが好きで、トウモロコシ粉を常にストックしています。