WordPressで保存された履歴を削除し、さらに履歴を保存する数を制限もしくは無効にする方法
スポンサードリンク
WordPressから記事をExportして、さらにImportすることがあります。WordPressでは、Exportすると xmlのファイルになるのですが、これがサイズが大きいことがあります。中を見てみると、過去の版(履歴)も含まれています。 これは、exportしてimportしたときに、前のサイトでの編集の履歴までインポートできるので、便利な機能ではあるのですが、 記事を書いている最中にマメに「保存」「保存」とするとどんどん版がふえて、エクスポートファイルのサイズも どんどん大きくなってしまいます。そこで、サイズの削減のために過去の履歴を削除することを考えてみます。
削除は簡単で、mySQLのサーヴァーに接続して下のコマンドを実行します。
DELETE FROM wp_posts WHERE post_type="revision";
テーブル名「wp_posts」は該当するものにかえてください。「接頭辞_posts」の形式です。重要なデータの場合は、念のため 実行する前にテーブルをバックアップしたほうがいいでしょうね。
ちなみに、あるサイトでこれを実行したところ、18MBあったエクスポートファイルが3.4MBになりました。1/6!
そもそも、なんでこんなにたくさんリビジョンを保存するのであろうか。必要あるのかしら? と思われた向きには、 保存する履歴の数を指定する機能があります。ただしWordpress 2.6以降のみ? 調査はしていません。
その方法は wp-config.phpに次のような行を追加するだけ。
define('WP_POST_REVISIONS', 数);
「数」に数字をいれると、その数だけにリビジョンが制限されます。0やfalseにするとリビジョンを保存する機能が 無効になるようです。
いやー、こんな定数があるなんて知らなかった...WordPressにはまだまだおもしろい機能がたくさんありそうです。
参考文献
- How to delete existing WordPress post revisions stored/saved, My Digital Life, 2008
- Disable and turn off post revisions tracking in wordpress 2.6 or above, My Digital Life, 2008
- How to store every post revisions on each auto save in wordpress with limit on versions count, My Digital Life, 2008
No comments:
Post a Comment