WordPressのユーザー権限とロールの基本【初心者向け】

Contents
はじめに
WordPressでは、複数のユーザーが関わるサイト運営をスムーズに行うために、「ユーザー権限(Capabilities)」と「ロール(Roles)」という仕組みが用意されています。
これらを正しく理解することで、不正操作を防ぎつつ効率的にサイト管理ができるようになります。
1. ユーザー権限(Capabilities)とは
ユーザー権限とは、**「ユーザーができる操作の種類」**を意味します。
例えば、「投稿を編集できる」「プラグインを有効化できる」「テーマを削除できる」などが個別の権限です。
代表的な権限の例:
| 権限名 | 内容 |
|---|---|
edit_posts | 投稿の編集が可能 |
publish_posts | 投稿を公開できる |
delete_posts | 投稿を削除できる |
manage_options | サイトの設定を変更できる(管理者のみ) |
💡 関連:current_user_can()の使い方と権限チェックの基本
current_user_can()関数を使えば、現在のユーザーが特定の権限を持っているかをPHPで判定できます。
2. ユーザーロール(Roles)とは
ロールとは、権限の組み合わせをまとめた役割のことです。
たとえば「投稿者(Author)」は「投稿を作成・編集・公開できる」権限を持ちますが、他人の投稿は編集できません。
WordPressの標準ロール一覧
| ロール名 | 英語名 | 主な操作権限 |
|---|---|---|
| 管理者 | Administrator | すべての操作が可能(テーマ・プラグイン・設定含む) |
| 編集者 | Editor | 他人の投稿を含めて編集・公開・削除できる |
| 投稿者 | Author | 自分の投稿を作成・公開・削除できる |
| 寄稿者 | Contributor | 投稿を作成・編集できるが、公開はできない |
| 購読者 | Subscriber | 投稿の閲覧・コメントのみ可能 |
3. 権限とロールの関係性
ロール(役割)は、複数の権限をセットにした「パッケージ」のようなものです。
例:
Administrator→edit_posts,manage_options,activate_pluginsなど多数Author→edit_posts,publish_posts,delete_postsなど
つまり、
ロール = 権限(Capabilities)の集合体
という構造になっています。
4. ロールや権限を確認する方法
① 管理画面で確認する
WordPressの管理画面で
「ユーザー」→「ユーザー一覧」→個別ユーザー編集画面
に進むと、ロールを変更できます。
② PHPコードで確認する
if ( current_user_can( 'administrator' ) ) {
echo 'あなたは管理者です。';
}🔗 関連記事:is_user_logged_in()の使い方とログイン状態の条件分岐
ログイン状態と組み合わせることで、「ログインしている管理者のみ表示」といった条件分岐が可能です。
5. 権限をカスタマイズする方法
① functions.phpで追加・削除する
自作テーマや子テーマに以下のようなコードを追加すれば、権限を調整できます。
投稿者にカテゴリー追加・編集権限を付与するコード
/**
* 投稿者(author)にカテゴリー管理の権限を追加
*/
function my_add_caps_for_author_role() {
// 投稿者ロールを取得
$role = get_role( 'author' );
if ( ! $role ) {
return; // 念のためロールが取れなかった場合は終了
}
// カテゴリー管理画面(投稿 → カテゴリー)を開ける権限
$role->add_cap( 'manage_categories' );
// カテゴリー名・スラッグなどを編集できる権限
$role->add_cap( 'edit_categories' );
// カテゴリーを削除できる権限(必要なければコメントアウトでもOK)
$role->add_cap( 'delete_categories' );
// 投稿にカテゴリーを割り当てる権限(もともと持っているが明示しておいても可)
$role->add_cap( 'assign_categories' );
}
add_action( 'init', 'my_add_caps_for_author_role' );権限を削除するコード
/**
* 投稿者(author)からカテゴリー管理の権限を削除
*/
function my_remove_caps_from_author_role() {
$role = get_role( 'author' );
if ( ! $role ) {
return;
}
$role->remove_cap( 'manage_categories' );
$role->remove_cap( 'edit_categories' );
$role->remove_cap( 'delete_categories' );
// assign_categories は残しておいてOK(投稿にカテゴリーを付けるだけなら必要)
// $role->remove_cap( 'assign_categories' );
}
// 一時的に実行したいときだけコメントアウトを外して使う
// add_action( 'init', 'my_remove_caps_from_author_role' );② プラグインを使う方法
コードに不慣れな方は、以下のようなプラグインを使うのがおすすめです。
- User Role Editor
- Members
⚙️ 関連記事:WordPressプラグインの基本と安全な使い方
プラグインで権限を管理する際も、安全性の確認が重要です。
6. セキュリティの観点からの注意点
管理者権限を持つユーザーが多いと、セキュリティリスクが高まります。
最低限のロールを割り当て、必要な操作だけ許可しましょう。
ポイント:
- 管理者は1〜2名に限定
- 投稿者・編集者の範囲で運用
- 権限のないユーザーには
current_user_can()で制御
🔐 参考:WordPressのログイン試行回数を制限する方法【AIOSで簡単設定】
権限管理と併せてログイン制限を設定すれば、より強固なセキュリティ対策になります。
7. まとめ
WordPressのユーザー管理の基本は次の3つです。
- 権限(Capabilities)=「できること」
- ロール(Roles)=「権限のまとまり」
- 適切な割り当て=「安全で効率的な運営」
ロールと権限を理解することで、
あなたのサイトはより安全で、運営もしやすくなります。

