リビジョン

説明

WordPress のリビジョンシステムは、各保存済み下書きまたは公開済み投稿の更新記録を保存します。リビジョンシステムではスライダーをドラッグするか、「前へ/次へ」のボタンをクリックして、各リビジョンでの変更箇所を参照できます。各リビジョンで追加・保持・削除された内容といった変更箇所が表示されます。追加や削除された行はハイライトされ、各文字レベルの変更はさらにハイライトされます。「このリビジョンを復元」ボタンを押すことで、そのリビジョンを復元できます。

リビジョンページには「2つのリビジョンを比較」するモードがあり、2つの任意なリビジョンを比較できます。このモードではスライダーに2つのハンドルがあり、1つは比較元、もう1つは比較先のリビジョンをそれぞれ指定できます。また、ハンドルをドラッグすることで、2つの任意なリビジョンを指定できます。 注: 「このリビジョンを復元」するボタンを使うと、常に比較先のリビジョンへの復元を実行します

リビジョンへの復元を実行せずに投稿の編集画面に戻る場合は、ページトップにある投稿タイトルのリンクをクリックしてください。

自動保存

投稿ごとの自動保存は最大一つまでとなっています。新規自動保存は、以前の自動保存投稿を上書きします。つまり60秒ごとにデータベーステーブルが肥大していくわけではない、ということです。マルチユーザー設定がされている場合、自動保存はユーザーごとに実行されます。

自動保存はすべての投稿とページに有効化されていますが、公開済みのコンテンツが自動で入れ替えられることはありません。自動保存コンテンツは特別な種類のリビジョンとして保存されますが、実際の投稿を上書きするわけではありません。実際、停電が起きたり、ブラウザーがクラッシュしたり、インターネット接続が切れてしまった場合に編集中だった投稿に戻ると、投稿のバックアップがあるということや、そのバックアップを復元するためのリンクが表示されます。リビジョンをレビューしている時、自動保存ははっきりと明示されます。

リビジョン設定

WordPress がデータベースに保存するリビジョンの数を制限します。

開発者は wp_revisions_to_keep フィルターを使うことにより、投稿ごとにいくつのリビジョンを保持するかを簡単に変更できます。

または、wp-config.php で制限を設定することもできます。

define( 'WP_POST_REVISIONS', 3 );

WP_POST_REVISIONS:

  • true (デフォルト), -1: すべてのリビジョンを保存
  • false, 0: リビジョンを保存しない (各投稿1つの自動保存を除く)
  • int (1以上の整数): 各投稿につき、指定された数のリビジョン (プラス自動保存1つ) を保存する。古いリビジョンは自動的に削除される。

リビジョンの保存方法

リビジョンはデータベースの posts テーブルに保存されています。

リビジョンは元となる投稿の子投稿として保存されます (添付ファイルと同様)。これらには、inherit という post_status、revision という post_type が与えられます。そして post_name は通常のリビジョンでは {親投稿 ID}-revision(-#) (例 119-revision-3)、自動保存では {parent ID}-autosave(例 119-autosave) になります。

デフォルトでは、WordPress はタイトル、投稿者、コンテンツ、抜粋の変更を保存します。

リビジョン管理

削除: 履歴を削除する API 関数はありますが、UI はありません。もちろんこれは今後変更になる可能性があります

レンダリング済みリビジョンの表示

現状、リビジョンを比較した「差分 (diff)」はテキストまたは HTML 表示としてレンダリングされます。差分のエンコーディングやレンダリングをカスタマイズできるフィルターが提案されています (Tracチケット #24908 を参照)。

この記事は役に立ちましたか ? どうすればさらに改善できますか ?