get_role()


WordPressのget_role()関数は、特定のロールのオブジェクトを取得するために使用されます。この関数は、ロールの権限や能力を確認したり、変更したりする際に役立ちます。

構文

get_role( string $role );
  • $role(string) — 取得したいロールの名前を指定します。例えば、’editor’や’author’など。

例1: ロールの権限を確認する

この例では、’editor’ロールの権限を確認します。

$editor_role = get_role('editor'); if ($editor_role) { print_r($editor_role->capabilities); }

例2: ロールに新しい権限を追加する

‘editor’ロールに新しい権限を追加する例です。

$editor_role = get_role('editor'); if ($editor_role) { $editor_role->add_cap('edit_theme_options'); }

例3: ロールの権限を削除する

‘editor’ロールから特定の権限を削除する例です。

$editor_role = get_role('editor'); if ($editor_role) { $editor_role->remove_cap('edit_theme_options'); }

例4: カスタムロールの作成と権限設定

新しいカスタムロールを作成し、権限を設定する例です。

add_role('custom_role', 'カスタムロール', array('read' => true, 'edit_posts' => true)); $custom_role = get_role('custom_role'); if ($custom_role) { $custom_role->add_cap('delete_posts'); }

例5: ロールの存在を確認する

特定のロールが存在するかどうかを確認する例です。

if (get_role('subscriber')) { echo 'サブスクライバーロールは存在します。'; } else { echo 'サブスクライバーロールは存在しません。'; }

例6: ロールの権限を一覧表示する

‘administrator’ロールのすべての権限を一覧表示する例です。

$admin_role = get_role('administrator'); if ($admin_role) { foreach ($admin_role->capabilities as $cap => $value) { echo $cap . ' => ' . $value . '<br>'; } }

例7: ロールの権限を変更する

‘author’ロールの権限を変更する例です。

$author_role = get_role('author'); if ($author_role) { $author_role->add_cap('upload_files'); $author_role->remove_cap('edit_others_posts'); }

例8: ロールを削除する

カスタムロールを削除する例です。

remove_role('custom_role');

注意点

  • ロールの権限を変更する際は、既存のユーザーに影響が出ないよう注意してください。
  • カスタムロールを作成する際は、権限の設定を慎重に行ってください。
  • ロールを削除すると、そのロールに属するユーザーはロールを失います。

関連機能: