WordPressで寄稿者下書き投稿の後、管理者が承認して公開する方法

大人数でWordPressを更新していく際には、投稿された記事のチェックが必須になってくるかと思います。現時点(ver.3.8)ではそうした公開承認機能は標準搭載されていません。
しかし、さすがはWordPress。プラグインを入れることによって公開承認機能を追加することができます。

流れとしては以下のとおり。

  1. 寄稿者が投稿する
  2. 投稿記事はすべてレビュー待ち(承認待ち)状態になる
  3. 管理者にメール送信
  4. 管理者が公開承認する
  5. 記事公開

公開承認機能を追加する

プラグイン「Peter’s Collaboration E-mails」を使用します。

  1. 管理画面の[プラグイン] → [新規追加]より「Peter’s Collaboration E-mails」で検索しインストール、有効化
  2. [設定] → [公開承認ワークフロー]を開く

何も設定しない状態では、承認者はWordPress設置時の管理者になっています。
もし承認者を追加したい場合は

  1. デフォルト承認者の欄で[追加]にチェックを入れる
  2. 追加したいユーザーを選択する
  3. [更新]をクリック

140409-1

デフォルト承認者以外にも

「グループ別承認者」
グループを作成し、グループ別の公開承認フローが使えます。
例:寄稿者Aと寄稿者Bが投稿を行った場合のみ、必ず管理者Cに承認依頼メールが送信される

「投稿タイプと分類別承認者」
投稿かページかや、指定カテゴリーに属しているか、などの細かい設定別の公開承認フローが使えます。
例:カテゴリーAに属している投稿を行った場合のみ、必ず管理者Bに承認依頼メールが送信される

など、細かく公開承認フローのルールを決めることができます。
クライアントから細かい指定が来なければデフォルト承認者部分のみの設定で問題無いと思います。

注意
この時必ずユーザー権限を「寄稿者」としてください。「投稿者」では承認申請はされず、すぐに公開されてしまいます。

これでWordPressにも公開承認機能が追加できました。

ただし、ひとつ問題が…。
ユーザー権限「寄稿者」にはアップロード権限がありません
つまり画像をアップできないわけです。
これでは満足に記事を作成することができません。そのため「寄稿者」にアップロード権限を付けて画像をアップできるようにする必要があります。

「寄稿者」にアップロード権限を付ける

プラグイン「User Role Editor」を使用します。

  1. 管理画面の[プラグイン] → [新規追加]より「User Role Editor」で検索しインストール、有効化
  2. [ユーザー] → [User Role Editor]を開く
  3. 設定する権限を選択し、[upload_files]にチェックを入れる
  4. [Update]をクリック

140409-2

これで権限「寄稿者」も画像をアップできるようになりました。

ちなみに、寄稿者にアップロード権限追加のためだけにプラグインを入れるのは大げさと考える方は、function.phpに記述する方法でどうぞ。

if (current_user_can('contributor') && !current_user_can('upload_files')) {
  add_action('admin_init', 'allow_contributor_uploads');
}
function allow_contributor_uploads() {
  $contributor = get_role('contributor');
  $contributor->add_cap('upload_files');
}