概要
is_super_admin
関数は、特権管理者(super admin)かどうかを調べるために使用されます。この関数は、WordPressのマルチサイト環境で特権管理者の権限を確認する際に役立ちます。以下のような機能の実装でよく使われます。
- マルチサイト環境での管理者機能の制限。
- 特権管理者のみがアクセスできる設定ページの作成。
- 特権管理者用のカスタムメニューの表示。
- 特権管理者のみに許可されたプラグインの機能提供。
- データベース操作の制御を特権管理者のみに制限。
- 特権管理者のみに特定のテーマやプラグインのインストールを許可。
- アップデートや削除操作を特権管理者のみに制限。
- 特権管理者用の管理ダッシュボードの作成。
構文
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' );
このサンプルコードは、特権管理者にのみ表示されるダッシュボードウィジェットを追加します。
引用元のページがある場合は示さず、著作権フリーのサンプルコードとして使用されているものです。