WordPressのhome_url()とsite_url()の違いを調べてみた

サムネイルWordPress

WordPressをいじってたある日、home_url()site_url()という2つの関数を見つけました。

「どう違うねん…」と思ったので自分で調べてみました。

 

スポンサーリンク

home_url()とsite_url()の違い

  • home_url():サイトのURL
  • site_url():WordPressがインストールされている場所のURL

 

例えば「https://example.com/wp」にWordPressがインストールされているとします。

home_url()とsite_url()で取得できる値は

  • home_url():https://example.com
  • site_url():https://example.com/wp

という感じです。

要するに、基本的にはhome_url()を使い、WordPressがサブディレクトリにインストールされているならsite_url()を使いましょうということです。大体はhome_url()で事足りると思います。

 

ちなみにhome_url()site_url()も出力されるとき末尾にスラッシュ「/」はつきません。スラッシュをつけたい場合はhome_url('/')と書きましょう。

 

home_url()とsite_url()の使い方

以下のように使うとホームのURLを表示できます。

<?php echo esc_url( home_url('/'); ) ?>

 

esc_url()はURLをエスケープする関数です。

万が一URLに悪意のあるスクリプトが混ざっている場合そのまま実行されてしまうので、セキュリティ対策としてesc_url()を使うといいと思います。

 

それと、echoを忘れないようにしてください(地味にハマりポイントです!)

URLが出力されなかったらechoがちゃんと入っているかまず確認しましょう。

ZennでCSS設計の
本を書きました!

「CSS設計をちょっと勉強したけど
結局よくわからなかった…」
そんな人に読んでほしい一冊です!

読んでみる
スポンサーリンク
WordPress
スポンサーリンク
でざなり