ワードプレスのis_super_admin関数の使用方法・解説

概要

is_super_admin 関数は、特権管理者(super admin)かどうかを調べるために使用されます。この関数は、WordPressのマルチサイト環境で特権管理者の権限を確認する際に役立ちます。以下のような機能の実装でよく使われます。

  1. マルチサイト環境での管理者機能の制限。
  2. 特権管理者のみがアクセスできる設定ページの作成。
  3. 特権管理者用のカスタムメニューの表示。
  4. 特権管理者のみに許可されたプラグインの機能提供。
  5. データベース操作の制御を特権管理者のみに制限。
  6. 特権管理者のみに特定のテーマやプラグインのインストールを許可。
  7. アップデートや削除操作を特権管理者のみに制限。
  8. 特権管理者用の管理ダッシュボードの作成。

構文

is_super_admin( $user_id = 0 )

パラメータ

  • $user_id:確認するユーザーのID。省略した場合は、現在のユーザーが使用されます。

戻り値

  • true:指定したユーザーが特権管理者である場合。
  • false:そうでない場合。

関連する関数

使用可能なバージョン

is_super_admin 関数は、WordPress 3.0.0 以降のバージョンで使用可能です。

コアファイルのパス

wp-includes/capabilities.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_super_admin() ) {
    // 特権管理者のための特別な処理
    echo 'あなたは特権管理者です。';
}

このサンプルコードは、現在のユーザーが特権管理者である場合に特別なメッセージを表示します。

サンプルコード2

$user_id = get_current_user_id();
if ( is_super_admin( $user_id ) ) {
    // 特権管理者のみに表示されるメニュー
    add_menu_page( '特権管理者メニュー', '特権メニュー', 'manage_options', 'super_admin_menu', 'super_admin_menu_callback' );
}

このサンプルコードは、特権管理者にのみメニューを表示する方法を示しています。

サンプルコード3

function custom_plugin_function() {
    if ( ! is_super_admin() ) {
        wp_die( 'アクセス権限がありません。' );
    }
    // プラグインの処理
}
add_action( 'admin_init', 'custom_plugin_function' );

このサンプルコードは、特権管理者でないユーザーがアクセスした場合にエラーメッセージを表示します。

サンプルコード4

function restrict_plugin_settings() {
    if ( ! is_super_admin() ) {
        remove_menu_page( 'options.php' ); // 設定メニューを非表示にする
    }
}
add_action( 'admin_menu', 'restrict_plugin_settings' );

このサンプルコードは、特権管理者以外のユーザーから設定メニューを隠す方法を示しています。

サンプルコード5

function custom_dashboard_widgets() {
    if ( is_super_admin() ) {
        wp_add_dashboard_widget( 'special_widget', '特権管理者用ウィジェット', 'special_widget_function' );
    }
}
add_action( 'wp_dashboard_setup', 'custom_dashboard_widgets' );

このサンプルコードは、特権管理者にのみ表示されるダッシュボードウィジェットを追加します。

引用元のページがある場合は示さず、著作権フリーのサンプルコードとして使用されているものです。

この関数について質問する


上の計算式の答えを入力してください