今回は、WordPressのサイトURLを取得するのに使用する「home_url()」と「site_url()」について説明します。
両者の違いについてもまとめています。
これらの関数の使い方を知りたい方は、ぜひ参考にしてください。
home_url()は「サイトアドレス(URL)」を取得する関数
home_url()は「サイトアドレス(URL)」を取得する関数
home_url()は、「サイトアドレス(URL)」を取得するための関数です。
ようは、WordPressで作成したWEBサイトのトップページのURLを取得することができます。
オリジナルでテーマを作成・編集する場合、home_url()は非常によく使用する関数の一つです。
例えば、WEBサイトのトップページへリンクを設定する場合には、よくこんな感じで設定します。
<a href=”<?php echo home_url(”); ?>”>
スラッシュ(/)終わりのURLを出力する場合には、このように設定します。
<a href=”<?php echo home_url(‘/’); ?>”>
もし、トップページ以外のURLを設定した場合には、「home_url(‘/blog/’)」とします。
この場合は、このようなURLが出力されます。
↓↓↓↓↓
http://example.com/blog/
site_url()は「WordPressアドレス(URL)」を取得する関数
site_url()は、「WordPressアドレス(URL)」を取得するための関数です。
「WordPressアドレス(URL)」とは、WordPressをインストールしたURLになります。
例えば、よくこんな感じで使用します。
<a href=”<?php echo site_url(”); ?>”>
もし、スラッシュ(/)終わりのURLを出力する場合には、このように設定します。
<a href=”<?php echo site_url(‘/’); ?>”>
home_url()とsite_url()の違い
home_url()とsite_url()はよく似た関数ですが、実際には異なります。
その違いはこちらです。
home_url() | 「WordPress アドレス (URL)」を取得 |
---|---|
site_url() | 「サイトアドレス (URL)」を取得 |

「WordPress アドレス (URL)」と「サイトアドレス (URL)」には、同じURLを設定することが多いです。
その為、home_url()とsite_url()では、取得したURLが同じになることが多いです。
ですが、ユーザーへ公開しているWEBサイトのURLを取得する場合には、home_url()を使用しましょう。
URLを安全に出力する方法
URLを出力する場合、「esc_url()」を使用しましょう。
esc_url()は、URLをエスケープするための関数で、home_url()やsite_url()とセットで使用します。
<a href=”<?php echo esc_url( home_url(‘/’) ); ?>”>
<a href=”<?php echo esc_url( site_url(‘/’) ); ?>”>
これにより、セキュアなURLが出力されます。
例えば、URLに悪意のあるJavascriptのコードが組み込まれていたとしても、これで安全に呼ぼ出すことが出来ます。
bloginfo()はの仕様には注意
WordPressでURLを取得できる関数に「bloginfo()」もあります。
例えば、「bloginfo(‘home’)」「bloginfo(‘siteurl’)」「bloginfo(‘url’)」とパラメーターを設定することで、「サイトアドレス(URL)」を取得することができます。
ただ、上記で紹介したパラメーター「home」「siteurl」「url」は、廃止されています。
トップページへのリンクを設定する場合には、home_url()が推奨されているので、こちらを使用しましょう。
また、「bloginfo(‘wpurl’)」とパラメーターを設定すると「WordPressアドレス(URL)」を取得できます。
ただ、「wpurl」というパラメーターは推奨されていないので、こちらもsite_url()を使用しましょう。