WordPressでサイトのURLを取得するときに使う「site_url()」と「home_url()」の違い

1つ前の投稿「WordPressがルートディレクトリにインストールできなくて困った!を解決する方法」でWordPressをサブディレクトリにインストールして、ルートディレクトリとして表示させる方法をまとめました。
その中で一般設定の項目『サイトアドレス (URL)』をしましたが、今まで意識してこなかった『WordPress アドレス (URL)』『サイトアドレス (URL)』についてのメモ。

site_url()とhome_url()の違い

site_url()で呼び出される『WordPress アドレス (URL)』はWordPressがインストールされている場所のアドレス。
home_url()で呼び出される『サイトアドレス (URL)』はサイトにアクセスするためのアドレス。
ということです。

サブディレクトリ「wp」にWordPressをインストールした場合、
『WordPress アドレス (URL)』が「http://hoge.com/wp」、
『サイトアドレス (URL)』は「http://hoge.com」
となるわけです。

『サイトアドレス』なのにhome_url()…ややこしいですね。

Advertising

注意とおまけ

site_url()home_url()で呼び出したアドレスは、URLの最後に「/(スラッシュ)」がつかないので注意が必要です。

スラッシュを入れたい場合は
<?php echo site_url( '/' ); ?><?php echo home_url( '/' ); ?>と記述します。
httpとhttpsも自動で認識してくれるので、便利です。

Author

すずき のりえ
@planbworks

Webデザイナー / グラフィックデザイナー / エイチレフ合同会社 業務執行社員
コーポレートサイト・リクルーティングサイト、会社案内・入社案内がメインです。最近では医療・福祉系のお客様が多いです。
2015年10月より母校で非常勤講師(DTP)。2017年3月よりお茶のお稽古に通っています(裏千家)。

関連記事