権限

権限(Capability)は、ユーザーがWordPress上で「できること」を示すものです。例えば「投稿ができる」「ファイルのアップロードができる」「テーマの切り替えができる」といったようなものです。

権限は「管理者」などの権限グループに紐付いています。例えば、管理者は設定の管理ができる、WordPress本体の更新(バージョンアップ)ができる、投稿の作成や公開ができる、「寄稿者」は投稿の作成はできるが公開はできない…といった形です。ユーザーは、「管理者」などの権限グループ(役割)の設定をとおして、それぞれの権限が与えられます。

権限グループ

権限グループ(Role)は、ユーザーに与える役割のことです。WordPress標準では、下記の6つの権限グループが使用されます。

権限グループ名 内部名 意味
特権管理者 サイトネットワーク管理機能や他のすべての機能へアクセスできるユーザー
管理者 administrator シングルサイト内のすべての管理機能にアクセスできるユーザー
編集者 editor 他のユーザーの投稿を含むすべての投稿を公開、管理できるユーザー
投稿者 author 自身の投稿を公開、管理できるユーザー
寄稿者 contributor 自身の投稿を編集、管理できるが、公開はできないユーザー
購読者 subscriber プロフィール管理のみ実行できるユーザー

※特権管理者は、WordPressをマルチサイト化している場合のみ使用されます。内部名はありません

権限の一覧

使用できる主な権限、および権限がどの権限グループに紐付いているかを下記に示します。

※この一覧はRoles and Capabilities « WordPress Codex、およびユーザーの種類と権限 - WordPress Codex 日本語版をもとに、権限の意味と「なにができるのか」を追加し、整形したものです。

権限 意味 できること 特権管理者 管理者 編集者 投稿者 寄稿者 購読者 備考
manage_network ネットワークの管理
manage_sites サイトの管理
manage_network_users ネットワークユーザーの管理
manage_network_plugins ネットワークプラグインの管理
manage_network_themes ネットワークテーマの管理
manage_network_options ネットワーク設定の管理
権限 意味 できること 特権管理者 管理者 編集者 投稿者 寄稿者 購読者 備考
activate_plugins プラグインの有効化 プラグイン設定画面へのアクセスや操作
※シングルサイト時またはネットワーク設定で有効化
create_users ユーザーの作成 ユーザー > 新規追加画面へのアクセスや操作
※シングルサイト時
delete_plugins プラグインの削除 プラグイン(インストール済みプラグイン)画面などからのプラグインの削除
※シングルサイト時
delete_themes テーマの削除 外観(テーマ)画面などからのテーマの削除
※シングルサイト時
delete_users ユーザーの削除 ユーザー一覧画面などからのユーザーの削除
※シングルサイト時
edit_files ファイルの削除 (現在は使用されていません)
※シングルサイト時
edit_plugins プラグインの編集 プラグイン > プラグインの編集画面へのアクセスや操作
※シングルサイト時
edit_theme_options テーマ設定の編集 外観 > カスタマイズ~背景画面へのアクセスや操作
edit_themes テーマの編集 外観 > テーマの編集画面へのアクセスや操作
※シングルサイト時
edit_users ユーザーの編集 ユーザー一覧画面などからのユーザー情報の編集
※シングルサイト時
export エクスポート ツール > エクスポート画面へのアクセスや操作
import インポート ツール > インポート画面へのアクセスや操作
権限 意味 できること 特権管理者 管理者 編集者 投稿者 寄稿者 購読者 備考
install_plugins プラグインのインストール プラグイン > 新規追加画面へのアクセスやインストール
※シングルサイト時
install_themes テーマのインストール 外観 > テーマ の新規追加画面へのアクセスやインストール
※シングルサイト時
list_users ユーザー一覧 ユーザー一覧へのアクセス
manage_options オプションの管理 設定画面(一般~パーマリンク設定)へのアクセスや設定
promote_users ユーザー昇進 既存のネットワークユーザーを特定のサイトのユーザーに追加 (マルチサイト)
remove_users ユーザーの除去 ユーザー一覧でのユーザーの除去 (マルチサイト)
switch_themes テーマの切替 外観(テーマ)画面へのアクセスやテーマ切替
update_core 本体の更新 更新画面などからの本体(WordPressのコアパッケージ)の更新や更新数の表示
※シングルサイト時
update_plugins プラグインの更新 更新画面などからのプラグインの更新や更新が必要なプラグイン数の表示
※シングルサイト時
update_themes テーマの更新 更新画面などからのテーマの更新や更新が必要なテーマ数の表示
※シングルサイト時
edit_dashboard ダッシュボードの編集 ダッシュボードの追加など※ ※wp_add_dashboard_widget()という関数上からしか使われていないようでした
権限 意味 できること 特権管理者 管理者 編集者 投稿者 寄稿者 購読者 備考
moderate_comments コメントのモデレート コメント一覧、投稿編集画面からのコメントの承認や削除 (投稿編集画面のアクセスはedit_postsの権限も必要)
manage_categories カテゴリーの管理 投稿 > カテゴリー画面へのアクセスや管理
manage_links リンクの管理 (現在は使用されていません)
edit_others_posts 他の投稿の編集 他のユーザーが作成した投稿の編集
edit_pages 固定ページの編集 固定ページ一覧、固定ページ > 新規追加へのアクセスや編集
edit_others_pages 他の固定ページの編集 他のユーザーが作成した固定ページの編集
edit_published_pages 公開されているページの編集 固定ページ一覧などからの公開済の固定ページの削除
publish_pages 固定ページの公開 固定ページ一覧などからの固定ページの公開
delete_pages 固定ページの削除 固定ページ一覧などからの固定ページの削除
delete_others_pages 他の固定ページの削除 固定ページ一覧などからの他のユーザーが作成した固定ページの削除
delete_published_pages 公開されている固定ページの削除 固定ページ一覧などからの他のユーザーが作成した固定ページの削除
delete_others_posts 他の投稿の削除 投稿一覧などからの他のユーザーが作成した投稿の削除
delete_private_posts 非公開の投稿の削除 投稿一覧などからの非公開の投稿の削除
edit_private_posts 非公開の投稿の編集 投稿一覧などからの非公開の投稿の編集
read_private_posts 非公開の投稿を読む 非公開の投稿の表示・閲覧
delete_private_pages 非公開の固定ページの削除 固定ページ一覧などからの非公開の固定ページの削除
edit_private_pages 非公開の固定ページの編集 固定ページ一覧などからの非公開の固定ページの編集
read_private_pages 非公開の固定ページを読む 非公開の固定ページの表示・閲覧
unfiltered_html HTMLのフィルタリング無効化 投稿やウィジェットでHTMLのフィルタリングをしない
権限 意味 できること 特権管理者 管理者 編集者 投稿者 寄稿者 購読者 備考
edit_published_posts 公開されている投稿の編集 投稿一覧などからの公開済みの投稿の編集
upload_files ファイルのアップロード メディア一覧へのアクセスやアップロード / 投稿画面からのメディア追加
publish_posts 投稿の公開 投稿一覧などからの投稿の公開
delete_published_posts 公開されている投稿の削除 投稿一覧などからの公開済の投稿の削除
edit_posts 投稿の編集 投稿一覧、投稿 > 新規追加、コメント、コメントの承認へのアクセスや編集
delete_posts 投稿の削除 投稿一覧などからの投稿の削除
権限 意味 できること 特権管理者 管理者 編集者 投稿者 寄稿者 購読者 備考
read 読む ダッシュボード、プロフィール画面へのアクセス

プログラム上での権限や権限グループの確認

※この項目は開発者向けです。

プログラム上で権限や権限グループを確認したい場合は「current_user_can()」という関数を使用します。
現在ログイン中のユーザーが特定の権限を持つ場合はtrueを返すため、この関数を使って条件分岐を行うことができます。

「ログイン中のユーザーが権限を持っているか」ではなく「ある特定のユーザーが権限を持っているか」を調べる場合には「user_can()」という関数を使用することができます。

単独では使用しませんが、例えばユーザー一覧データを取得・表示する際に特定の権限を持つユーザーのみ表示を変えたい場合などに効果を発揮します。

更新履歴

  • 2016/02/10 remove_usersは「マルチサイト運用時に特定のブログに参加させたユーザーを取り除く(削除はしない)」権限でしたので説明を修正しました。(以前はdelete_usersと同じく「ユーザーの削除」と誤って記載していました)
  • 2016/02/06 権限グループに内部名を追加しました。(current_user_can()などで使うので、わかりやすいように一覧にしました)
  • 2016/02/04 初版
用語集: 索引
ABCDE
FGHIJ
KLMNO
PQRST
UVWXY
Z