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にはまだまだおもしろい機能がたくさんありそうです。
参考文献