現在位置: 首頁 > 電腦科技 > wordpress > 正文
wordpress 刪除sql文章版本和垃圾
2010年08月08日 wordpress ⁄ 共 2091字 暂无评论 ⁄ 被围观 3,646 views+

在funtion.php加入 就可以隱藏wp版本 Remove the WordPress Generator Meta Tag: if ( function_exists( 'wp_generator' ) ) { remove_action( 'wp_head', 'wp_generator' ); }

  清理wordpress「文章修訂版本」冗餘數據,有時候顯得很重要,尤其是頁面經過無數次修改後,很多重複的,廢棄的信息佔據著你本來就不大的空間和數據庫。

    近期學習使用wordpress,對每一個可見的功能都比較感興趣,今天發佈文章時,對發佈頁下方的「文章修訂版本」產生了興趣並使用了一次,算是一個很不錯的版本庫,能方便的還原的各個修改版本;可是我的擔心也來了,這麼多版本得有多少數據冗余啊,很多文章成功發佈之後,沒有發現什麼問題就不會再來編輯了,這這麼多版本確一直留著,如何清理呢?

    經過Google搜索學習,學得以下幾種操作方法分享給大家:

1、通過插件不定期清理

通過wordpress後台,搜索安裝delete-revision插件,安裝激活成功後,進入:

設置>>delete-revision,就能看到您發佈的文章總量,點擊「檢查冗餘日志數量」即可查看您的「文章修訂版本」數量量有多大了,我的比較厲害,一共才38篇日誌卻有230個版本,可見… …如果確定之前的文章沒有問題,那就點最下方的「Yes,我要刪了它」;

2、操作數據庫批量刪除

很多朋友顧忌速度,不願意安裝過多的插件(我還沒有意識到這點),那就可以登錄phpMyAdmin後執行下面的SQL語句來批量刪除:

DELETE FROM wp_posts WHERE post_type = “revision”

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'

註:經過實踐,是可以成功順利刪除相應數據的,如果不能成功,請檢查雙引號是否為英文的,可不能用中文的符號在數據庫中使用哦… …⊙﹏⊙b

3、直接關閉自動保存和禁用文章修訂版本

不推薦的方法,大家如果需要就自己去學習嘍,如果沒有自動保存,萬一斷電,不小心關閉或跳開頁面導致辛苦的輸入化為烏有那就不好了,算了,我是不用,寧願手動清理一下… …

___________________________________________________________________

 

WordPress殘留垃圾數據刪除

使用WordPress經常換主題刪主題,裝插件刪插件很正常,但是簡單的刪除並不徹底,數據庫會有殘留,多餘的數據保留在post_meta表格裡,久而久之就成了一堆可觀的垃圾。可使用下面的SQL語句來清除不需要的post meta值。有益於加快數據庫運行速度,減小數據。

處理方法:清理wp_postmeta數據表,刪除文章Meta標籤,執行SQL語句

DELETE FROM wp_postmeta WHERE meta_key = '_edit_lock';
DELETE FROM wp_postmeta WHERE meta_key = '_edit_last';

 

WordPress刪除所有的垃圾評論

遇到N多垃圾評論,一個一個刪除的話會崩潰。可使用下面的SQL語句查詢,刪除再多多條垃圾評論也不是難事。

處理方法:執行SQL語句

DELETE FROM wp_comments WHERE comment_approved = 'spam';
0 = Comment Awaiting Moderation
1 = Approved Comment
spam = Comment marked as Spam

 

WordPress處理未使用的標籤

 

在WordPress數據庫中,如果你使用一個查詢語句手動來刪除舊的文章,舊的標籤卻仍然會保留並在你的標籤雲/列表中出現。你可以使用下面的方法識別未使用的標籤並將它刪除。

SELECT * FROM wp_terms wt
INNER JOIN wp_term_taxonomy wtt ON wt.term_id=wtt.term_id
INNER JOIN wp_term_relationships wtr ON wtr.term_taxonomy_id=wtt.term_taxonomy_id
LEFT JOIN wp_posts wp ON wp.ID=wtr.object_id
WHERE taxonomy='post_tag'
AND ID IS null
AND NOT EXISTS(SELECT * From wp_terms wt2
INNER JOIN wp_term_taxonomy wtt2 ON wt2.term_id=wtt2.term_id WHERE wtt2.parent=wt.term_id) ORDER BY name;