MENU

home_url()

home_url() は、WordPressサイトのトップページURLを取得するためのテンプレートタグです。WordPressがどのURLから訪問者に表示されるかを取得する際に使用します。get_site_url() と異なり、WordPressがインストールされている場所ではなく、サイトのフロントエンドURLを返します。

目次

機能の説明

home_url() は、サイトのホーム(トップページ)URLを取得するための関数です。このURLは「一般設定」で設定される「サイトアドレス」に基づいて返されます。

  • サブディレクトリ型のインストールでは、https://example.com/blog/ のようなURLを返します。
  • 独自ドメインを使ったサイトでは、トップページのURLを正確に取得できます。

シンプルなコード例

echo home_url();

出力例

https://example.com

使い方の解説

home_url() は、必要に応じてパスやスキーム(http/https)を指定することもできます。

引数

  1. $path(任意): URLの後ろに追加するパス(例: 'about')。
  2. $scheme(任意): URLのスキーム(httphttpsrelative)。デフォルトはnullで、設定に従います。

トップページのURLを取得する例

echo home_url();

このコードは、https://example.com のように、サイトのホームURLを取得します。

特定のパスを追加する(例:about ページへのURLを取得)

echo home_url('about');

このコードは、https://example.com/about のように、トップページURLの後にaboutを追加したURLを取得します。

スキームを https に指定する

echo home_url('', 'https');

このコードは、https://example.com のように、HTTPSでのURLを取得します。

特定の投稿のパスを取得する

$post_slug = 'my-post';
echo home_url($post_slug);

このコードは、https://example.com/my-post のように、特定の投稿へのURLを取得します。

一緒に使うことが多い関連タグ

get_site_url()

get_site_url() は、WordPressがインストールされているディレクトリのURLを取得します。

echo get_site_url();

このコードは、WordPressのインストールURLを取得します。例えば、https://example.com/wordpress/ のようなURLです。

admin_url()

admin_url() は、WordPressの管理画面へのURLを取得します。

echo admin_url();

このコードは、https://example.com/wp-admin/ のような管理画面のURLを取得します。

使用例: home_url()get_site_url() の使い分け

echo 'ホームURL: ' . home_url();  // https://example.com/
echo 'インストールURL: ' . get_site_url();  // https://example.com/wordpress/

home_url() はサイトのホームURLを取得し、get_site_url() はインストールディレクトリのURLを取得します。

追加情報を取得したい場合

複数のスキームを動的に切り替える

特定の条件に応じて、HTTPまたはHTTPSのURLを出力できます。

if (is_ssl()) {
    echo home_url('', 'https');
} else {
    echo home_url('', 'http');
}

このコードは、SSL接続(HTTPS)かどうかを確認し、適切なスキームでURLを出力します。

get_permalink() で取得できる情報

echo get_permalink(42);  // 投稿ID 42 のURLを取得

出力できる情報

  • URL: 投稿のパーマリンク(例: https://example.com/my-post/
  • 投稿ID: パラメータを指定して特定の投稿URLを取得可能

想定されるトラブル

home_url() が間違ったURLを返す

「サイトアドレス(URL)」が誤って設定されている場合があります。

解決策

WordPressの「一般設定」で正しいURLが設定されているか確認してください。

URLにHTTPが使われている(HTTPSではない)

SSL設定が正しく反映されていない可能性があります。

解決策

  1. WordPressの「一般設定」でHTTPSのURLが設定されているか確認する。
  2. テンプレートタグにスキームを指定する。
echo home_url('', 'https');

Q&A

home_url()get_site_url() の違いは何ですか?

  • home_url() は、サイトのトップページURLを取得します。
  • get_site_url() は、WordPressがインストールされているディレクトリのURLを取得します。

home_url() を使って特定のページへのリンクを取得するには?

home_url() の第1引数にパスを指定します。

echo home_url('about');

HTTPSのURLを取得するにはどうすればよいですか?

get_home_url() 関数を使用し、サイトIDを指定します。

echo get_home_url(2);  // サイトID 2 のトップページURL

まとめ

home_url() は、サイトのトップページURLを取得するための重要なテンプレートタグです。get_site_url() との違いを理解し、サイトの構造に応じて使い分けることが重要です。また、パスやスキームを柔軟に指定することで、特定のページやHTTPS対応URLの取得も可能になります。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

This site uses Akismet to reduce spam. Learn how your comment data is processed.

目次