get_home_url()
は、WordPressサイトのホームURLを取得するためのテンプレートタグです。トップページのURLを簡単に取得するため、外部リンクや内部リンクの構築に便利です。
機能の説明
get_home_url()
は、WordPressのホームページ(トップページ)のURLを取得する関数です。この関数は、サイトアドレス(home_url
)として設定されたURLを取得します。
- 通常の使用では、
https://example.com/
などのサイトのトップURLを返します。 - サイトのトップページ以外のパスを取得したい場合には、パスを第2引数として渡すことが可能です。
- また、
https
やhttp
など、URLのスキームも指定可能です。
シンプルなコード例
echo get_home_url();
出力例
https://example.com/
使い方の解説
引数
$blog_id
(任意): マルチサイト環境で特定のサイトのURLを取得するためのID。デフォルトはnull
で現在のサイト。$path
(任意): URLの後ろに付け加えるパス(例:'about'
→https://example.com/about
)。$scheme
(任意):http
、https
、relative
などのスキームを指定可能。デフォルトはnull
(WordPressの設定に従う)。
ホームURLを取得する例
echo get_home_url();
このコードは、現在のサイトのホームページのURLを出力します。
特定のパスを指定する(例:about
ページのURL取得)
echo get_home_url(null, 'about');
このコードは、https://example.com/about
のように、トップページの後ろにabout
を付けたURLを取得します。
HTTPSスキームを強制的に適用
echo get_home_url(null, '', 'https');
このコードは、強制的にhttps
スキームでホームURLを取得します。
マルチサイト環境で特定サイトのホームURLを取得
echo get_home_url(2); // サイトID 2 のホームURLを取得
サイトIDが 2
のサイトのホームURLを取得します。
一緒に使うことが多い関連タグ
home_url()
home_url()
は、現在のサイトのホームURLを取得する関数で、get_home_url()
と非常に似ています。
echo home_url('contact');
このコードは、https://example.com/contact
のように、トップページにcontact
を付けたURLを取得します。
site_url()
site_url()
は、WordPressのインストールディレクトリのURLを取得する関数です。
echo site_url();
このコードは、WordPressのインストールURLを出力します(https://example.com/wordpress/
のような形式)。
使用例: home_url()
と site_url()
の違い
echo 'ホームURL: ' . home_url(); // https://example.com/
echo 'サイトURL: ' . site_url(); // https://example.com/wordpress/
home_url()
はトップページのURLを取得し、site_url()
はWordPressのインストール場所のURLを取得します。
追加情報を取得したい場合
現在のユーザーの状態に基づいて異なるリンクを生成
get_home_url()
と条件分岐を組み合わせて、ユーザーの状態に応じたリンクを出力することが可能です。
if (is_user_logged_in()) {
echo get_home_url(null, 'dashboard');
} else {
echo get_home_url(null, 'login');
}
このコードは、ログイン状態のユーザーにはdashboard
へのリンクを、未ログインのユーザーにはlogin
ページへのリンクを出力します。
site_url()
で取得できる情報
echo site_url();
出力できる情報
- home_url(): サイトのホームURL
- site_url(): WordPressのインストールURL
- admin_url(): 管理画面のURL
- network_home_url(): マルチサイトネットワークのホームURL
想定されるトラブル
取得するURLがhttp
で表示される
サイト設定でHTTPSが適用されていない可能性があります。
解決策
WordPressの「一般設定」から、サイトアドレス(URL)をhttps
に変更してください。または、$scheme
引数でhttps
を指定します。
echo get_home_url(null, '', 'https');
パスを指定しても正しいURLが表示されない
指定したパスが正しくない、または存在しないページへのリンクを生成している可能性があります。
解決策
リンク先が正しいパスであるか確認し、必要ならカスタムリダイレクトを設定します。
Q&A
まとめ
get_home_url()
は、WordPressサイトのトップページのURLを取得するための便利なテンプレートタグです。home_url()
や site_url()
と使い分けることで、必要なURLを的確に取得できます。特に、マルチサイト環境での利用や、HTTPS対応が必要な場合には、引数を正しく使うことが重要です。
コメント