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対応が必要な場合には、引数を正しく使うことが重要です。
コメント