概要
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();
}
このコードは、ネットワーク管理者であれば特定の設定表示機能を実行します。