wp_maybe_grant_site_health_caps()


WordPressのwp_maybe_grant_site_health_caps()関数は、サイトヘルス関連の権限をユーザーに付与するために使用されます。この関数は、管理者権限を持つユーザーにview_site_health_checks権限を自動的に追加します。

構文

wp_maybe_grant_site_health_caps();

例1: 基本的な使用法

この関数を呼び出すだけで、管理者にサイトヘルス権限が付与されます。

add_action('admin_init', 'wp_maybe_grant_site_health_caps');

例2: カスタムロールに権限を追加

カスタムロールを作成し、サイトヘルス権限を手動で付与します。

add_role('custom_role', 'カスタムロール', array('view_site_health_checks' => true));

例3: 特定のユーザーに権限を追加

特定のユーザーIDに権限を直接付与します。

$user = get_user_by('id', 1); $user->add_cap('view_site_health_checks');

例4: 権限の確認

現在のユーザーがサイトヘルス権限を持っているか確認します。

if(current_user_can('view_site_health_checks')) { /* 処理 */ }

例5: 権限の削除

特定のユーザーからサイトヘルス権限を削除します。

$user = get_user_by('id', 1); $user->remove_cap('view_site_health_checks');

例6: マルチサイトでの使用

マルチサイト環境でスーパーアドミンに権限を付与します。

if(is_super_admin()) { wp_maybe_grant_site_health_caps(); }

例7: プラグイン有効化時に実行

プラグイン有効化時にこの関数を実行します。

register_activation_hook(__FILE__, 'wp_maybe_grant_site_health_caps');

注意事項

  • この関数は管理者権限を持つユーザーにのみ影響します。
  • 権限を手動で変更した場合、この関数の効果が上書きされる可能性があります。
  • マルチサイト環境では適切な権限管理が必要です。