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のスキーム(
http
、https
、relative
など)を指定。デフォルトは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()
は、WordPressのインストールURLを取得するための重要なテンプレートタグです。
特に、マルチサイト環境や、特定のパスやスキームを指定する必要がある場合に便利です。home_url()
や admin_url()
との使い分けが重要です。
コメント