MENU

get_admin_url()

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/

使い方の解説

引数

  1. $blog_id(任意): マルチサイト環境で特定のサイトの管理画面URLを取得したい場合に使用。デフォルトは null(現在のサイト)。
  2. $path(任意): 管理画面の特定のパスを指定する文字列。例:'edit.php' で投稿一覧ページのURLを生成します。
  3. $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() はマルチサイトでどのように動作しますか?

サイトIDを引数に渡すことで、特定のサイトの管理画面URLを取得できます。get_admin_url(2)のように使います。

HTTPSで管理画面のURLを出力するには?

第3引数に 'https' を指定します。

get_admin_url(null, '', 'https')l

投稿編集画面へのURLを取得するには?

次のようにedit.phpをパスに指定します。

echo get_admin_url(null, 'edit.php');

まとめ

get_admin_url() は、WordPress管理画面のURLを取得するための便利なテンプレートタグです。特定のパスを渡すことで、投稿一覧ページやプラグイン管理ページなどへのリンクも生成できます。マルチサイト環境に対応しており、サイトIDを指定することで各サイトの管理画面URLを取得することが可能です。

管理画面のURL取得では、admin_url() との違いを理解し、必要に応じて使い分けると効果的です。また、HTTPSを適用する場合は設定の確認を怠らないようにしましょう。

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

コメント

コメントする

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

目次