
誤って必要な内容を消してしまったり、前の内容に戻したいといったときに便利な「リビジョン」という機能がWordPressにはあります。
そんなリビジョン機能を使って記事を復元する方法についてのメモです。
リビジョンとは?
リビジョンは、公開・更新した内容や下書き保存、自動保存されたときのバージョンのこと、また投稿を更新した時にその前のデータを保存する機能をいいます。
WordPressのリビジョン機能を有効にしておくと、以下のようなことができます。
- 編集履歴がチェックできる
- 編集履歴にある記事を見比べてどこを変えたか確認できる
- 履歴にある記事の状態へワンクリックで戻せる
誤って別の内容を保存してしまった、やはり以前に書いた内容に戻したい、と言った場合に修正前の内容に戻すことができます。どこを変更したかということを確認する上でも便利です。
記事の復元方法
その投稿にリビジョンがあれば、エディターの右側の投稿パネルに表示されます。

ここに表示される数字をクリックすると、リビジョンの比較画面が表示されます。
上部にあるスライド式のボタンで過去の記事を探すことができます。左に行くほど過去の記事。左右にある「前へ」「次へ」のボタンでも切り替わります。

この画面では2つの記事内容が表示されます。違いがあるところに背景色がつきます。
「右側」に表示されている内容が復元されます。
復元したい記事を見つけて、「このリビジョンを復元」ボタンをクリックすれば、その内容が反映されて編集画面に切り替わります。
「このリビジョンを復元」ボタンをクリックするのは「更新」ボタンをクリックすることと同じです。復元ボタンを押した時点で、その内容に書き変えられて公開されます。
復元した後でも、その内容はまたリビジョンとして残ります。気が変わってやっぱりまた戻したいという時は再度復元できます。
一部だけを修正したいときはコピペで対応
簡単にできるリビジョンの復元ですが、注意しておきたいのは「その時の投稿全部が復元される」ということを理解しておくこと。
「一部分の文章は復元したいけど、その後に書き換えた部分は変更したくない」といった場合にまで「このリビジョンの復元」で復元しようとすると、変更したくない部分も削除されてしまいます。
その場合は手動でコピペするしかありません。該当の部分をコピーして編集中のコンテンツにペーストして対応しましょう。
指定した2つのリビジョンで比較
1つ前の記事と現在の記事の他に、比較対象を変更することができます。
「2つのリビジョンを比較」にチェックを入れます。
上部のスライドボタンが2つになるので、それぞれ比較したい記事に合わせることで見比べることができます。

カスタム投稿のリビジョンが表示されない
カスタム投稿タイプにリビジョンが表示されない場合は、エディター機能のサポート設定にリビジョンが含まれていないかもしれません。
【自作コードの場合】
supportsプロパティに 'revisions' が含まれていなければ追加します。
$supports = [
// 他の設定項目は省略
'revisions',
];
$args = [
// 他の設定項目は省略
'supports' => $supports,
];【プラグイン(Custom Post Type UI)の場合】
設定項目に「サポート」というものがあります。ここにある「リビジョン」にチェックを入れます。

その他リビジョンが表示されない時に確認すること
リビジョンが表示される条件は、記事の内容を変更して下書き保存か更新ボタンが2回以上押されていることです。まずこの条件に当てはまらなければ表示されません。
自動保存は何度もされているけど更新ボタンは一度しか押していない、という時はリビジョンが作られないので表示されません。
クラシックエディターを使っている場合にチェックすること
クラシックエディターを使っていて入力フィールドの下にリビジョンが表示されない場合、表示オプションにチェックが入っているか確認してみてください。


プラグインを無効化してみる
プラグインによってうまく表示されないこともあります。
一つずつプラグインを無効化しながらリビジョンが表示されるか確認していきましょう。無効化した後に表示されればそのプラグインが原因と考えられます。
削除せずとも一旦無効化し、再度有効化することで解消された事例もありました。
【参照】WordPressの投稿リビジョンが表示されなくなった話
テーマによってはリビジョン機能をOFFにしている
テーマ側でリビジョン機能をOFFに可能性もあります。使用しているテーマがリビジョン機能を使えるものなのか確認してみてください。
remove_post_type_support でリビジョンを設定している
functions.php に以下のような記述がある場合、投稿編集画面にリビジョンが表示されません。
remove_post_type_support('post', 'revisions');'post' の部分は'page' (固定ページ)やカスタム投稿タイプなど、他の投稿タイプ名が記載されている場合もあります。
自分で設定していない場合や、以前はいらなかったけど必要になった、という時に見落としやすいのでチェックしてみてください。
wp-config.phpの記述もチェック
こちらも自分でサイトを作っていない場合や、以前設定して忘れてしまった場合にチェックしておきたい箇所です。
wp-config.php に以下のようなコードが記述されていれば、リビジョン機能が停止されます。
define('WP_POST_REVISIONS', false);コードを削除するか、false の部分を true に修正すれば再びリビジョンが使えるはずです。





