概要
is_network_admin
関数は、リクエストページがネットワーク管理者ページかどうかを調べるために使用されます。この関数は、マルチサイト環境での特定の操作や判定に役立ちます。具体的には、以下のような機能を実装する際によく使われます。
- ネットワーク管理者専用のメニュー項目の表示/非表示
- ネットワークレベルの設定を変更する際の権限チェック
- ネットワーク管理者専用のウィジェットの登録
- ネットワーク管理用のスクリプトやスタイルのキューイング
- 特定のリダイレクト処理の実装(管理者のみ)
- プラグインでのネットワークに関連する設定ページの表示
- ネットワークの統計情報の表示
- ネットワーク全体のカスタム投稿タイプの管理
構文
is_network_admin();
パラメータ
この関数にはパラメータはありません。
戻り値
戻り値は、リクエストがネットワーク管理者画面である場合は true
、そうでない場合は false
です。
関連する関数
is_network_admin
関数に関連する機能や判断を行うためのその他の関数については、次のリンクを参考にしてください。
– is_network_admin
使用可能なWordPressバージョン
is_network_admin
関数は、WordPress 3.0以降で使用可能です。
コアファイルのパス
この関数は、WordPressコアファイルの以下のパスに含まれています。
wp-includes/plugin.php
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
mu_plugin_loaded | 〇 |
registered_post_type | |
plugins_loaded | 〇 |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | |
template_redirect | 〇 |
get_header | |
wp_head |
サンプルコード
サンプルコード1: コンディショナルチェック
if (is_network_admin()) {
echo "このページはネットワーク管理者ページです。";
}
このコードは、現行ページがネットワーク管理者ページである場合にメッセージを表示します。
サンプルコード2: メニュー項目の表示
add_action('admin_menu', 'custom_network_menu');
function custom_network_menu() {
if (is_network_admin()) {
add_menu_page('ネットワーク設定', 'ネットワーク設定', 'manage_network', 'network-settings', 'network_settings_callback');
}
}
このコードは、ネットワーク管理者ページでのみ表示されるカスタムメニュー項目を追加します。
サンプルコード3: スタイルのキューイング
add_action('admin_enqueue_scripts', 'enqueue_network_admin_styles');
function enqueue_network_admin_styles() {
if (is_network_admin()) {
wp_enqueue_style('network-admin-style', plugins_url('/css/style.css', __FILE__));
}
}
このコードは、ネットワーク管理者ページに特定のスタイルシートを追加します。
サンプルコード4: 管理者専用リダイレクト
if (is_network_admin()) {
wp_redirect(admin_url('network/settings.php'));
exit();
}
このコードは、ネットワーク管理者ページであれば特定の設定ページにリダイレクトします。
サンプルコード5: プラグインの条件付き機能
if (is_network_admin()) {
// ネットワーク設定を表示するための機能を実行
display_network_settings();
}
このコードは、ネットワーク管理者であれば特定の設定表示機能を実行します。