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() との使い分けが重要です。
コメント