説明
get_home_url() は、サイトのホームURLを返す関数です。マルチサイトでは、サイトIDを指定して他のサイトのURLを取得できます。
基本構文
get_home_url( int|null $blog_id = null, string $path = '', string|null $scheme = null ): string
引数
$blog_id:サイトID(省略で現在のサイト)$path:付け足すパス$scheme:スキーム
戻り値
ホームURL。
使い方(サンプル)
echo esc_url( get_home_url( 2, '/' ) );
注意点
- 通常のサイトでは
home_url()で十分です。
実務での使いどころ
- マルチサイトで、別のサイトのトップページのURLを取得するとき(
$blog_idを指定)。 - URLのスキーム(
https・http)を指定して取得するとき。
よくあるミスと対処
- 現在のサイトのURLでよいのに、この関数を使っている。現在のサイトなら
home_url()で足りる。この関数の違いは、サイトのIDを指定できること。 - 別のサイトのURLを取るために、
switch_to_blog()を呼び、restore_current_blog()を忘れる。この関数は、IDを渡すだけで取得できる。
NG例
switch_to_blog( 2 );
echo home_url(); // restore_current_blog() を忘れると、以降の処理が別のサイトのままになる
OK例
echo esc_url( get_home_url( 2 ) );
使い分け早見表
| 関数 | 返すURL |
|---|---|
get_home_url() |
指定したサイトのトップページのURL |
home_url() |
現在のサイトのトップページのURL |
get_site_url() |
指定したサイトの、WordPress本体のURL |
関連項目
公式リファレンス:get_home_url() | Function | WordPress Developer Resources

コメント