外注ブログにおいて、投稿してもらって公開した記事に加筆修正を依頼したいことはありませんか?「公開済みの記事を公開したまま、加筆修正されたものをレビューして公開する」という承認フローをRevisionsというプラグインで実現します。少し手間取ったので備忘も兼ねて記録しておきます。
以前は”WP Post Branches”というプラグインで実現でき、検索するとこちらを紹介したページが多数ヒットするのですが、WordPress 5.0以降(WordPress 5.x)で採用された新エディタであるGutenbergを使おうとすると対応していないのです(2020年6月時点)。
なお、公開中のページを更新することなく公開したまま編集して一時保存したい、といった場合にも、同じプラグインが活用できます。「保存しながら、じっくりリライトしたい…」というニーズに答えます。
今回の目的
・投稿者の投稿は公開前にレビューしたい
・公開済みの記事を公開したまま追記・修正してもらいたい
・追記・修正も、公開前にレビューしたい
この3点を同時に実現します。
なぜプラグインが必要か
WordPressでは公開後の記事を下書きで修正する方法はなく、編集した場合はそれを破棄するかそのまま公開するかしか選べません。公開したまま裏で下書きを保持することができないのです。
それは「レビュー待ち」でも同じで、”User Role Editor”で”Edit published posts”をオンにすると、公開済みの記事を編集できて「レビュー待ちで送信」できますが、その場合公開が取り下げられて下書きに戻ってしまいます。よって、Edit published postsはオフにしたままで、別の手段を取りたいところです。
下書きになってしまうとすぐにレビューできなければ一時的なリンク切れの原因にもなり、望ましくない運用です。かといってレビュー無しで直接公開されるのも少し躊躇してしまいます。あくまで公開を維持しながらリライトした箇所をレビューし、承認すれば記事が更新されるといった運用がベストです。
まずはこちらの記事をみて「WP Post Branches」の設定を試みますが、うまくいきません。
▶WordPressで公開中の記事を変更することなく編集&保存できるプラグイン「WP Post Branches」
どうやら、「WP Post Branches」はWordPress5.0以上でGutenbergを使用する場合は対応していないようです。
▶【WordPress】公開した記事のリライトで下書きを保存する方法
そこで、PublishPress Revisionsというプラグインを利用することにしました。以下のページで紹介されていた「Revisionary」というプラグインの後継のようです。
▶公開中のページを公開したまま編集して承認待ちにする
PublishPress Revisions

インストールして有効化しておきます。設定はデフォルトのままでよさそうでした。なお、今回は寄稿者(Contributor)が投稿や修正して、管理者が承認する役割としています。
User Role Editorを用いて、ContributorにUpload fileを追加で許可し、Delete postsとEdit published postsをオフにしてあります。また、ユーザー権限を編集できるプラグインとしては、PublishPress Capabilitiesというものもあり、User Role Editorの代わりにこちらを用いても良いのかもしれません。今回はもともと使用していたUser Role Editorを使いました。

実際に使ってみる
まずはContributorでログインし記事を作成

ここはWordPress本体の挙動通りです。「Publish Posts」という権限が与えられていない場合、「公開する」というボタンを押しても公開されずに「レビュー待ちとして送信」というボタンが出現します。

「レビュー待ちとして送信」を押すと、

「レビュー待ち」として保存されました。
管理者として承認(ここまでは一般的なフロー)
一端ログアウトし、管理者側でログインして記事を編集すると、

「公開する」というボタンがあります。こちらを押すことで、記事を公開することができます。
寄稿者側から、公開済み記事の修正を行う
この公開済みの記事を寄稿者側から見るとどのように見えるでしょうか。冒頭で述べた通り「Edit published posts」という権限はオフにしていますから、公開済みの記事はたとえ自身が投稿した記事であっても「編集」メニューは出現しません。
まずは、Revisions導入前の画面がこちら↓。

続いて、Revisions導入後の画面がこちら↓。

Revisionsをインストールすることで、この公開済み記事のメニューに「編集」という項が出現しました。「編集」ボタンをクリックすると

エディタ画面に移りますが、右上は「公開する」ボタンではなく、「Submit Revision」というボタンに変わっています。ここで適宜加筆修正をした上で、「Submit Revision」を押すと、下記のような表示がでてrevisionをrevision queueに並べることができます。


この投稿一覧画面で、「Revision Queue」というメニューが出現したのが分かるでしょうか。なおここで「編集」を選んでしまうと、公開中の記事を元にしたrevisionを開始してしまい新たなブランチが分岐してしまうので注意してください。これがこの承認フローのUXにおいて、やや弱い部分だと思います。
ここでRevision Queueを押すか、左のメニューから「リビジョン」を選ぶとRevision Queueを見ることができます。

管理者側で承認

管理者もRevision Queueから確認します。ここから記事を選ぶと、

エディタ画面が開きます。加筆修正の内容が問題なければ、「Approve Revision」という緑文字を押して承認するとあらたな記事で更新されます。

Revision Queueからrevisionが消えて、記事が更新されます。
Revisionsを使って、公開済み記事の修正において承認フローを実現できた
「公開済みの記事を公開したまま、加筆修正されたものをレビューして公開する」という承認フローをRevisionsというプラグインを用いて実現することができました。