WordPress會自動保存你對日志的修改記錄。 當你更新了某篇日志或頁面后,WordPress會保留你更新前的日志(頁面),讓你可以在任何時候取回更新前的內容。 這些老舊的日志存根將作為歷史記錄,永遠保留在數據庫中,使用戶能夠看到對日志的所有改動。
但有時候我們也需要對數據庫進行一些整理。 每次對日志的修訂都會使WordPress日志表中多出一行內容,而postmeta和term_relationships表中則可能會多出若干個條目。 刪除一些不必要的記錄可以釋放硬盤空間,同時減輕MySQL的加載負擔。
首先要記?。?備份好你的數據庫。 下面的方法會直接在MySQL表上運行SQL語句,稍有偏差就會讓你的WordPress無法運行,因此備份是必要的。
首先,找到在wp-config.php中規定的WordPress表前綴:
$table_prefix = 'wp_';
Wp_是默認表前綴,但你可以更改默認值,減少安全漏洞。 這里我們仍然將wp_作為默認的表前綴。
為了刪除所有日志和頁面的修改記錄,請先打開一個MySQL管理工具(如phpMyAdmin)并運行以下語句:
DELETE a,b,c FROM wp_posts a LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_type = 'revision';
(如果你更改了表前綴,請對代碼中的“wp_”也做相應更改。)
如果覺得這比較麻煩,你也可以選擇刪除某一特定日期前的所有日志修改記錄,例如下面的語句將刪除2010年1月1日前的所有日志修改:
DELETE a,b,c FROM wp_posts a LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_type = 'revision' AND a.post_date < '2010-01-01';
(注意,MySQL的日期格式為年-月-日)
在WordPress的wp-config.php文件中添加以下代碼,永久性關閉保留日志修改記錄的功能:
define('WP_POST_REVISIONS', false);
可以將值設為“true”以便重新激活保留修改記錄的功能。
或者你也可以用一個正整數來限制所允許的日志修改記錄的數量:
define('WP_POST_REVISIONS', 5);
上面的代碼會為每篇日志保留至多5次修改記錄,加上一次自動保存記錄。 五次前的修改記錄會被自動刪除。
如果涉及到MySQL會讓你覺得不安,那么你可以試試這些具有類似功能的WordPress插件。
原文:How to Control Post Revisions in WordPress
上一篇 個人經歷淺談外鏈對排名的重要性
下一篇 php聊天室技術-密談的實現