Tips

WordPressのsite_urlとhome_urlの違いを表にした

WordPressのURL関連の概念でわかりにくいのがsite_url()とhome_url()の違いです。これらの呼び方や意味合いや対応する関数と環境変数を、今後迷わなくてよくするために表にまとめておきます。

さっそく表にしました

呼び方(日本語) WordPress アドレス (URL) サイトアドレス (URL)
呼び方(英語) WordPress Address (URL) Site Address (URL)
意味 WordPressのファイル群が配置されているディレクトリ トップページのURL
具体例 https://proggy.jp/wp https://proggy.jp
呼び出す関数 site_url() home_url()
環境変数 WP_SITEURL WP_HOME

「呼び方」っていうのは設定画面での表記です。日本語設定の時と英語設定の時の両方を記載しておきました。

何がわかりにくいかっていうと、呼び方だと「サイト」と付く方に、関数や環境変数だと「site」や「SITE」がつかないということです。逆になっているんですよね。

迷った時は設定画面のコードを見よう

何度も調べてもしばらく経つと忘れてまた混同しちゃうんですよね。すぐに思い出すために、役立つのが設定画面のHTMLのソースコードです。

呼び方のところにしっかり「siteurl」と「home」と書いてあります。

とはいえ、意味合いとの紐付けは書いてないので、両方同じURLが設定されている場合で、そもそもどっちがどっちの意味だっけ?ってなった時は上記の表を見返してください。

理想像(こうして欲しかった)

そろえろや!って本当に思います。そもそも「サイト」っていう言葉が曖昧なんですよね。この言葉は使わずに、私が思い描く理想的なネーミングをした表を貼っておきますね。ご参考までに。

日本語での呼び方 WordPress アドレス (URL) ホームアドレス (URL)
英語での呼び方 WordPress Address (URL) Home Address (URL)
意味 WordPressのファイル群が配置されているディレクトリ トップページのURL
具体例 https://proggy.jp/wp https://proggy.jp
呼び出す関数 wp_url() home_url()
環境変数 WP_WPURL WP_HOME

こっちの方が統一されていてわかりやすくないですか?

一つ難点としては、WP_WPURLが「WP」がダブっちゃってるのが少し気持ち悪いかもしれません。WordPressで使われる環境変数は他の環境変数とぶつからないように、全て「WP_」という接頭辞をつけるのがルールなようなので仕方ありません。

さいごに

なんでこんなに混同しやすいネーミングにしてしまったのかは謎です。ネット上にもわかりにくいという意見が非常に多いです。とはいえ、WordPressはかなり歴史が長くなっているので、今更変えられないということだと思います。