get_editable_roles()


WordPressのget_editable_roles()関数は、現在のユーザーが編集可能なユーザーロールの一覧を取得するために使用されます。

シンタックス

get_editable_roles();

この関数は、WordPressで利用可能なすべてのユーザーロールを取得し、現在のユーザーが編集可能なものだけを返します。管理者権限を持つユーザーはすべてのロールを編集可能ですが、その他のユーザーは編集権限を持つロールのみ取得されます。

使い方の例

例1: 編集可能なロールの一覧を表示

現在のユーザーが編集可能なすべてのロールを取得して表示します。

<?php
$editable_roles = get_editable_roles();
foreach ( $editable_roles as $role_name => $role_info ) {
    echo $role_name . '<br>';
}
?>

例2: 特定のロールの権限を確認

「editor」ロールが現在のユーザーによって編集可能かどうかを確認します。

<?php
$editable_roles = get_editable_roles();
if ( array_key_exists( 'editor', $editable_roles ) ) {
    echo '編集可能です';
} else {
    echo '編集できません';
}
?>

例3: ドロップダウンにロールを表示

編集可能なロールを選択できるドロップダウンメニューを作成します。

<?php
$editable_roles = get_editable_roles();
echo '<select name="user_role">';
foreach ( $editable_roles as $role_name => $role_info ) {
    echo '<option value="' . esc_attr( $role_name ) . '">' . esc_html( $role_info['name'] ) . '</option>';
}
echo '</select>';
?>

注意事項

  • get_editable_roles()は管理者権限のユーザーであればすべてのロールを取得します。
  • 特定のロールに対する制限をカスタマイズするには、カスタムロジックを追加する必要があります。

関連機能: