誤って必要な内容を消してしまったり、前の内容に戻したいといったときに便利な「リビジョン」という機能がWordPressにはあります。
そんなリビジョン機能を使って記事を復元する方法についてのメモです。
リビジョンとは?
リビジョンは、公開・更新した内容や下書き保存、自動保存されたときのバージョンのこと、また投稿を更新した時にその前のデータを保存する機能をいいます。
WordPressのリビジョン機能を有効にしておくと、以下のようなことができます。
- 編集履歴がチェックできる
- 編集履歴にある記事を見比べてどこを変えたか確認できる
- 履歴にある記事の状態へワンクリックで戻せる
誤って別の内容を保存してしまった、やはり以前に書いた内容に戻したい、と言った場合に修正前の内容に戻すことができます。どこを変更したかということを確認する上でも便利です。
リビジョンを確認する
リビジョンは編集画面で簡単に確認できます。
クラシックエディターの場合はこちら。
クラシックエディターの場合、入力フィールドの下にリビジョン一覧が表示されるのでこちらからも確認できます。いつ更新したかがひと目で分かりますね。
記事の復元方法
リビジョンの比較画面から、更新前の記事の復元を行うことができます。
上部にあるスライド式のボタンで過去の記事を探すことができます。左に行くほど過去の記事。左右にある「前へ」「次へ」のボタンでも切り替わります。
この画面では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 にコードを記述することで、機能を停止することができます。設定されていないか確認しましょう。
このようなコードがあればリビジョン機能がOFFになっています。
define('WP_POST_REVISIONS', false);
コードを削除するか、false
の部分を true
に修正すれば再びリビジョンが使えるはずです。