get_admin_url() は、WordPressサイトの管理画面のURLを取得するためのテンプレートタグです。指定したサイトIDやパスを基に、管理者ページへの完全なURLを構築します。
機能の説明
get_admin_url() は、WordPressの管理画面(/wp-admin/)へのURLを取得するための関数です。
複数のサイトを管理するマルチサイト環境にも対応しており、特定のサイトIDを渡すことでそのサイトの管理画面URLを取得することが可能です。
- サイトURLに依存する管理ページのリンクを簡単に生成するのに役立ちます。
- 必要に応じてパスを指定して、特定の管理画面(例:投稿一覧画面、プラグイン画面など)へのリンクを生成できます。
シンプルなコード例
echo get_admin_url(); 出力例
https://example.com/wp-admin/使い方の解説
引数
$blog_id(任意): マルチサイト環境で特定のサイトの管理画面URLを取得したい場合に使用。デフォルトはnull(現在のサイト)。$path(任意): 管理画面の特定のパスを指定する文字列。例:'edit.php'で投稿一覧ページのURLを生成します。$scheme(任意):httpまたはhttpsを指定するスキーム。デフォルトはadmin(サイト設定に依存します)。
現在のサイトの管理画面のURLを取得
echo get_admin_url(); このコードは、現在のサイトの管理画面のURLを出力します。デフォルトで https://example.com/wp-admin/ のように出力されます。
特定の管理画面へのリンクを取得(投稿一覧ページの場合)
echo get_admin_url(null, 'edit.php');このコードは、現在のサイトの投稿一覧ページへのリンクを出力します。nullは現在のサイトを指しており、edit.phpが投稿一覧のパスです。
マルチサイト環境で特定サイトの管理画面URLを取得
echo get_admin_url(2); // サイトID 2 の管理画面URLを取得この例では、サイトIDが 2 のサイトの管理画面URLを取得します。例えば、https://example.com/site2/wp-admin/ のようなURLが出力されます。
一緒に使うことが多い関連タグ
admin_url()
admin_url() は、現在のサイトの管理画面のURLを取得するテンプレートタグです。
echo admin_url('plugins.php');この例では、現在のサイトのプラグイン管理ページへのリンクを取得します。get_admin_url()と似ていますが、マルチサイト対応のためにはget_admin_url()を使います。
network_admin_url()
network_admin_url() は、ネットワーク管理者用のURLを取得する関数です(マルチサイト環境専用)。
echo network_admin_url('sites.php');このコードは、ネットワーク管理画面のサイト管理ページへのリンクを出力します。
追加情報を取得したい場合
現在のユーザーに対応した管理画面URLを取得
get_admin_url() と組み合わせて、ユーザーの権限に応じた管理画面リンクを出力します。
if (current_user_can('edit_posts')) {
echo get_admin_url(null, 'edit.php');
} else {
echo '管理画面にアクセスする権限がありません。';
}このコードは、ユーザーが投稿を編集できる場合にのみ、投稿一覧ページへのリンクを出力します。
site_url() でサイトの基本URLを取得
echo site_url();出力できる情報
- site_url(): サイトの基本URL
- home_url(): サイトのトップページURL
- admin_url(): 管理画面のURL(現在のサイト)
想定されるトラブル
正しいURLが表示されない
サイトURLやWordPressアドレスの設定が正しくない場合、意図しないURLが生成されることがあります。
解決策
WordPress管理画面の「一般設定」から、サイトアドレス(URL)とWordPressアドレス(URL)を確認してください。
HTTPSでないURLが表示される
サイト設定にHTTPSが適用されていない場合、get_admin_url() がHTTPスキームでリンクを生成します。
解決策
WordPressの一般設定で、HTTPSのURLが設定されていることを確認してください。または、$scheme引数に'https'を指定します。
echo get_admin_url(null, '', 'https');Q&A
まとめ
get_admin_url() は、WordPress管理画面のURLを取得するための便利なテンプレートタグです。特定のパスを渡すことで、投稿一覧ページやプラグイン管理ページなどへのリンクも生成できます。マルチサイト環境に対応しており、サイトIDを指定することで各サイトの管理画面URLを取得することが可能です。
管理画面のURL取得では、admin_url() との違いを理解し、必要に応じて使い分けると効果的です。また、HTTPSを適用する場合は設定の確認を怠らないようにしましょう。
コメント