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

WordPressのユーザー権限とロールをわかりやすく図解したイメージ|管理者・編集者・投稿者の関係を示す構成図
WordPressのユーザー権限とロールの仕組みを解説するアイキャッチ画像。管理者・編集者・投稿者などの役割を視覚的に表現し、初心者にもわかりやすい構成。

はじめに

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. 権限とロールの関係性

ロール(役割)は、複数の権限をセットにした「パッケージ」のようなものです。

例:

  • Administratoredit_posts, manage_options, activate_plugins など多数
  • Authoredit_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つです。

  1. 権限(Capabilities)=「できること」
  2. ロール(Roles)=「権限のまとまり」
  3. 適切な割り当て=「安全で効率的な運営」

ロールと権限を理解することで、
あなたのサイトはより安全で、運営もしやすくなります。

🧭 関連記事リンクまとめ