你是否遇到過如下幾種狀況:
所有的這些,都涉及到一個關鍵詞:批量修改。如果在WordPress后臺,手動地去一個一個修改文章內容,相信會讓你很抓狂,對一些擁有上千篇文章的博客來說,幾乎是不可能完成任務。本文將教你如何使用SQL語句來操作你的數據庫,實現數據的批量修改。
如果你沒學過數據庫的相關知識,肯定不知道SQL是什么,但是本文所涉及到的內容不需要你了解數據庫的知識,也不需要你精通SQL語句的編寫,你完全可以直接使用本文提到的SQL,下面我們將分條介紹各個SQL語句的功能,所有語句都使用默認的?wp_?表前綴,如果你的不是,請自行更改。
開始之前,先介紹以下如何執行SQL語句,進行批量操作。現在一般的空間都是用phpmyadmin來管理數據庫,這里將以phpmyadmin為例來介紹如何執行SQL語句:
如果你想替換之前寫過的所有文章中的某些內容,如更換博客的名稱,更換博客的網址,更換文章配圖的鏈接等等,你可以使用以下SQL語句:
該語句的功能是將所有文章中的 愛找主題 字眼,全部替換成 愛找主題網站,你可以根據需要做一些更改。因為文章內容在數據庫中是以HTML代碼形式存儲的,所以以上SQL語句同樣可以替換HTML代碼。
如果你只是想更改文章插圖的鏈接,而不想影響其他的鏈接,可以使用以下SQL語句,所有src="oldurl.com被替換成了src="newurl.com
如果你是以圖片附件形式上傳的話,需要更改圖片附件的GUID
文章摘要就是你在WordPress后臺編輯文章時,"摘要"框中輸入的內容,如果你想批量更改文章摘要,可以使用以下語句:
該語句的功能是將所有文章摘要中的 愛找主題 字眼,全部替換成 愛找主題網站。
假設你的博客有兩名注冊用戶,張三和李四,你想將張三的所有文章劃歸到李四名下,這時候該怎么辦呢?你可以執行以下語句:
那如何獲得 李四的用戶id 和 張三的用戶id 呢?你可以執行以下SQL語句:
這時將列出你博客上所有的注冊用戶的ID,昵稱和公開顯示的名稱,你現在就可以找到對應用戶的ID了,如下圖,zhangsan的ID為2,lisi的ID為5:
你的SQL就可以這樣寫了:
假設,你的博客有個非常忠實的讀者,給你的博客文章留下很多有用的評論,同時他的評論都填寫了留言者的網站URL,但是有一天他的博客域名換了,并請求你更新他留言中的網站URL,那你怎么辦?手動一個一個幫他改,這不太現實。你可以使用以下SQL語句:
以上語句,將留言者所有舊的網站鏈接oldurl.com,更改為新的網址newurl.com
開啟pingback功能,可以在別人引用你的文章鏈接的情況下,給你發送通知,但是該功能似乎對我們的文章沒多大幫助,那為何不把pingback給禁止了呢?在WordPress后臺 - 設置 - 討論,取消勾選"接收來自外部博客的引用通告(pingbacks 和 trackbacks)",這樣以后的文章都不開啟pingback,但是該選項不會對之前的已發布的文章起作用,還是要用到SQL:
在通常情況下,文章的修訂版對大多數人來說沒多大意義,而且修訂版的數量會隨著你修改文章的次數不斷增長,這會增加數據庫的查詢速度,這并不是什么好事。互聯網上有很多教你如何禁止修訂版的文章,還有很多插件可以刪除文章修訂版,你可以自己搜索看看。這里教你如何使用SQL語句,刪除所有已產生的文章修訂版數據:
如果你的博客想要封殺某人,并刪除其在你博客的所有留言,可以使用以下SQL語句。
(1)根據留言者的博客URL進行刪除,以下SQL語句將刪除所有URL為?www.example.com?的評論
(2)根據留言者的昵稱進行刪除,以下語句將刪除所有昵稱為 example 的評論
(3)根據留言者的Email進行刪除,以下語句將刪除所有Email為 example@example.com 的評論
國內的互聯網監控力度表現出了不斷加強的趨勢,如果你的博客評論中出現了大量的敏感詞匯,很可能離被墻也不遠了。最好的做法是,替換相關的敏感詞匯,以保證你的博客安全,以下SQL語句將所有評論中的?fuck,替換成 **,替換內容根據你的需要來。
有時候你的博客可能會因為某種原因,需要關閉文章的評論。在WordPress后臺 - 設置 - 討論,那里取消勾選"允許人們發表新文章的評論",以后發表的文章默認是關閉評論的。但是之前已經發表的文章,若想關閉評論需要你一篇一篇地去修改評論設置,這是一件比較痛苦的事情。以下SQL語句可以幫助你輕松地批量關閉文章評論:
(1) 關閉所有舊文章的評論:
通常情況下,一篇舊文章就很少會有人發表評論了,一般訪問舊文章的訪客大都來自搜索引擎,這是好事,但是這部分訪客還會提出一些新問題,尤其是技術問題,但是可能文章中提到的技術細節你已經淡忘,這時候會讓你很難辦。最好的做法還是還是禁用舊文章的評論,以下SQL將禁止2009-01-01之前發表的所有文章的評論,你可以根據需要修改日期:
(2) 關閉所有文章的評論:
有時候很不幸,在不可抗力的威脅下,你不得不關閉所有文章的評論,可以使用以下SQL語句: