MENU

get_site_url()

get_site_url() は、WordPressのインストールディレクトリのURLを取得するためのテンプレートタグです。インストールされているディレクトリの正確なURLを取得する際に便利です。

目次

機能の説明

get_site_url() は、WordPressのインストールURLを取得するための関数です。これは、WordPressがインストールされている場所を正確に示し、home_url() が返すトップページURLとは異なります。

  • 一般的に、https://example.com/wordpress/ のように、WordPressがインストールされているディレクトリのURLを返します。
  • マルチサイト環境では、特定のサイトのインストールURLを取得することも可能です。

シンプルなコード例

echo get_site_url();

出力例

https://example.com/wordpress/

使い方の解説

引数

$blog_id(任意)

マルチサイト環境で特定のサイトのURLを取得するためのID。デフォルトはnullで現在のサイトのURL。

$path(任意)

URLの後ろに付け加えるパス。例: 'wp-admin'https://example.com/wordpress/wp-admin になります。

$scheme(任意)

URLのスキーム(httphttpsrelative など)を指定。デフォルトはnullでWordPressの設定に従います。

インストールURLを取得する例

echo get_site_url();

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

特定のパスを追加して取得する(例:wp-admin

echo get_site_url(null, 'wp-admin');

このコードは、https://example.com/wordpress/wp-admin のように、インストールディレクトリにwp-adminを追加したURLを取得します。

HTTPSスキームを強制適用

echo get_site_url(null, '', 'https');

このコードは、スキームを強制的にhttpsに指定してインストールURLを取得します。

マルチサイト環境で特定のサイトのインストールURLを取得

echo get_site_url(2); // サイトID 2 のインストールURLを取得

マルチサイト環境で、サイトIDが 2 のサイトのインストールURLを取得します。

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

home_url()

home_url() は、WordPressサイトのトップページのURLを取得します。

get_site_url() と違い、WordPressがインストールされたディレクトリではなく、サイト全体のホームURLを取得します。

echo home_url('contact');

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

admin_url()

admin_url() は、管理画面(ダッシュボード)へのURLを取得するための関数です。

echo admin_url();

このコードは、WordPressの管理画面(例:https://example.com/wordpress/wp-admin/)へのURLを出力します。

使用例: get_site_url()admin_url() の違い

echo 'インストールURL: ' . get_site_url();  // https://example.com/wordpress/
echo '管理画面URL: ' . admin_url();  // https://example.com/wordpress/wp-admin/

get_site_url() はWordPressのインストールディレクトリのURLを取得し、admin_url() はその中にある管理画面へのURLを取得します。

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

条件に応じた異なるパスを取得する

get_site_url() と条件分岐を組み合わせて、ユーザーの状態やサイトの状況に応じたパスを動的に生成できます。

if (is_user_logged_in()) {
    echo get_site_url(null, 'dashboard');
} else {
    echo get_site_url(null, 'login');
}

このコードは、ログイン状態のユーザーにはdashboardへのリンクを、未ログインのユーザーにはloginページへのリンクを出力します。

admin_url() で取得できる情報

echo admin_url();

出力できる情報

  • site_url(): WordPressのインストールURL
  • admin_url(): 管理画面のURL
  • home_url(): サイトのトップページURL
  • network_home_url(): マルチサイトネットワークのホームURL

想定されるトラブル

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

WordPressのインストールパスが正しく設定されていない場合があります。

解決策

WordPressの「一般設定」で、サイトアドレスとWordPressアドレスを確認し、正しく設定されているか確認してください。

URLがhttpで表示される

サイト設定でhttpsが適用されていない可能性があります。

解決策

WordPressの「一般設定」でURLがhttpsになっていることを確認し、必要に応じて第3引数でスキームを指定します。

echo get_site_url(null, '', 'https');

Q&A

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

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

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

第3引数に 'https' を指定することで、強制的にhttpsでURLを取得できます。

echo get_site_url(null, '', 'https');

マルチサイト環境で特定サイトのURLを取得するにはどうすればよいですか?

サイトIDを第1引数に指定します。

まとめ

get_site_url() は、WordPressのインストールURLを取得するための重要なテンプレートタグです。

特に、マルチサイト環境や、特定のパスやスキームを指定する必要がある場合に便利です。home_url()admin_url() との使い分けが重要です。

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

コメント

コメントする

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

目次