WordPress如何刪除文章修訂版本和自動(dòng)保存的草稿
[重要通告]如您遇疑難雜癥,本站支持知識(shí)付費(fèi)業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時(shí)間哦!
在使用WordPress建站的站長(zhǎng)們都知道WordPress自動(dòng)記錄文章修訂版本的功能,每次編輯或修改文章,系統(tǒng)都會(huì)自動(dòng)生成并保存一個(gè)修訂版,長(zhǎng)此以往數(shù)據(jù)庫(kù)將產(chǎn)生大量數(shù)據(jù)冗余,最終拖慢網(wǎng)站的運(yùn)行速度。這時(shí)的我們就需要定期清理或永久關(guān)閉此功能。
清理文章修訂
打開(kāi)主當(dāng)前主題文件夾在wp-content/themes
文件夾中的 functions.php
,將如下代碼添加至文件末尾的?>
前,保存。
$wpdb->query( "
DELETE FROM $wpdb->posts
WHERE post_type = 'revision'
" );
使用說(shuō)明:
打開(kāi)網(wǎng)站任意文章刷新,返回wordpress后臺(tái)可以看到歷史修訂版本已被清理干凈,然后刪除上述代碼,需要清理時(shí)再添加。
PS:還有一種在PHPMyAdmin 中通過(guò)SQL 語(yǔ)句可以刪除它們的方式方法,SQL語(yǔ)句如下:
DELETE?FROM?wp_postmeta?WHERE?post_id?IN?(SELECT?id?FROM?wp_posts?WHERE?post_type?=?'revision');
DELETE?FROM?wp_term_relationships?WHERE?object_id?IN?(SELECT?id?FROM?wp_posts?WHERE?post_type='revision');
DELETE FROM wp_posts WHERE post_type='revision';
一勞永逸的關(guān)閉修訂:
WordPress 提供了關(guān)閉修訂的方法,在 wp-setting.php
?中有一個(gè)變量?WP_POST_REVISIONS
,把它設(shè)置為?false
?就可以屏蔽 WordPress 日志修訂功能。
操作過(guò)程:打開(kāi)網(wǎng)站根目錄,找到配置文件wp-config.php
將下方代碼添加其中,保存即可。
define('WP_POST_REVISIONS', false);
PS:還一種方法就是:
在wp-config.php 添加下面一行:
在 $table_prefix = 'wp_'; 前面添加下面的兩行代碼:
define(‘WP_POST_REVISIONS’, false); //禁用歷史修訂版本
define(‘AUTOSAVE_INTERVAL’, 86400); //設(shè)置自動(dòng)保存時(shí)間設(shè)置為一天
再來(lái)個(gè)簡(jiǎn)單的只要在自己使用的網(wǎng)站主題的模板函數(shù)functions.php文件里面加入下面的代碼:
function disableAutoSave(){ wp_deregister_script('autosave'); } add_action( 'wp_print_scripts', 'disableAutoSave' );
保存并上傳覆蓋,這樣WordPress的自動(dòng)保存草稿功能就禁用了;
2019.08.01追加:
針對(duì)文章修訂版本解決方案:
主題目錄下 wp-content\themes\theme\functions.php 或者 全局 wp-includes\functions.php 增加如下代碼
//禁用文章修訂版本開(kāi)始 add_filter( 'wp_revisions_to_keep', 'specs_wp_revisions_to_keep', 10, 2 ); function specs_wp_revisions_to_keep( $num, $post ) { return 0; } //禁用文章修訂版本結(jié)束
延伸SQL語(yǔ)句:
刪除所有文章的修訂版:
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';
刪除自動(dòng)保存的草稿:
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_status = 'auto-draft';
通過(guò)以上的操作,我們就可以解決WordPress刪除文章修訂版本和自動(dòng)保存的草稿的相關(guān)內(nèi)容;
問(wèn)題未解決?付費(fèi)解決問(wèn)題加Q或微信 2589053300 (即Q號(hào)又微信號(hào))右上方掃一掃可加博主微信
所寫(xiě)所說(shuō),是心之所感,思之所悟,行之所得;文當(dāng)無(wú)敷衍,落筆求簡(jiǎn)潔。 以所舍,求所獲;有所依,方所成!