最近看到有許多朋友提到 「WordPress 文章 ID 不連續」 怎麼辦?,其實筆者剛剛接觸 WordPress 的
時候就發現了這個問題,所以也是一開始就把 WordPress 的自動保存以及文章修訂版本功能隱蔽。但是固定連接如果不用 postid 命名的話也許發現不
了,但是大葱一直使用的就是這種固定鏈接。如果你網速不佳的時候,這會影響到文章的編輯以及發表頁面的載入速度;另外每一次自動保存的文章草稿它都會自動
寫入我們的數據庫,這樣的話無形之中也就大大了數據庫的儲存,冗餘數據太多的話也會影響到數據庫的工作效率,另外也就是我們之前提到的文章 ID 不連續。
WordPress 儀表盤並沒有直接的提供關閉這個功能的選項,那麼今天就給大家講講如何把這個功能完完全全的隱蔽掉。
方法 1:
WordPress 默認是每 60 秒就會對文章進行自動保存,我個人是覺得太頻繁了,那麼我們可以打開博客根目錄下的 wp-config.php 文
件,搜索 「require_once(ABSPATH . 'wp-settings.php');」 在其前面/上面添加如下代碼:
//自動保存 10 小時一次
define('AUTOSAVE_INTERVAL', 36000);
//取消自動修訂版
define('WP_POST_REVISIONS',false);
方法 2:
代碼來源於國外網站,使用環境:WordPress 3.3.1,原理上 3.0 以上都支持,WP3.0.x 大葱沒有進行測試。在我們當前使用主題的 functions.php 文件加入如下代碼即可:
/* 取消自動保存和修訂版本 */
remove_action('pre_post_update', 'wp_save_post_revision');
add_action('wp_print_scripts', 'disable_autosave');
function disable_autosave() {
wp_deregister_script('autosave');
}
清理數據庫中以前的文章歷史修訂版本
自動保存和修訂版本我們都解決了,接下來我們進行刪除數據庫中的冗餘文章和修訂版本,數據庫操作之前大葱建議大家先進行備份。我們登錄
phpmyadmin
中進行數據庫管理,SQL 語句命令行中寫入以下運行代碼執行 (如果更改了數據庫表名的前綴,需要將數據表名稱中 wp 改成你的前綴):
delete from wp_posts where post_type='revision';