你是否遇到過如下幾種狀況:

1 、博客更換域名,博客文章的內容也要跟着換

2 、使用的圖片地址更換了

3 、寫了很多文章,回過頭來想切換作者

4 、想刪除某個可惡留言者的所有留言

5 、想更改某個留言者所有留言的網站 URL

6 、想要禁用所有文章的 pingback 想要禁用所有文章的評論功能

……等等。

所有的這些,都涉及到一個關鍵詞:批量修改。如果在 WordPress 後台,手動地去一個一個修改文章內容,相信會讓你很抓狂,對一些擁有上千篇文章的博客來説,幾乎是不可能完成任務。本文將教你如何使用 SQL 語句來操作你的數據庫,實現數據的批量修改。

如果你沒學過數據庫的相關知識,肯定不知道 SQL 是什麼,但是本文所涉及到的內容不需要你瞭解數據庫的知識,也不需要你精通 SQL 語句的編寫,你完全可以直接使用本文提到的 SQL,下面我們將分條介紹各個 SQL 語句的功能,所有語句都使用默認的 wp_ 表前綴,如果你的不是,請自行更改。

1 、批量修改文章內容

如果你想替換之前文章中的某些內容,如更換博客的名稱,更換博客的網址,更換文章配圖的鏈接等等,則執行以下 SQL 語句:

UPDATE wp_posts

SET post_content = REPLACE( post_content, ‘WordPress 教程網’, ‘ 我就愛 Wordpress’ );

該語句的功能是將所有文章中的 Wordpress 教程網,全部替換成我就愛 Wordpress,你可以根據需要做一些更改。

如果你只是想更改文章插圖的鏈接,而不想影響其他的鏈接,可以使用以下 SQL 語句:

UPDATE wp_posts

SET post_content =

REPLACE (post_content, ‘src=” 舊的鏈接地址’, ‘src=” 新的鏈接地址’);

如果你是以圖片附件形式上傳的話,需要更改圖片附件的 GUID:

UPDATE wp_posts

SET guid = REPLACE (guid, ‘ 舊的鏈接地址’, ‘ 新的鏈接地址’)

WHERE post_type = ‘attachment’;

2 、批量修改文章摘要

文章摘要就是你在 WordPress 後台編輯文章時,” 摘要” 框中輸入的內容,如果你想批量更改文章摘要,可以使用以下語句:

UPDATE wp_posts

SET post_excerpt = REPLACE( post_excerpt, ‘WordPress 教程網’, ‘ 我就愛 Wordpress’ );

該語句的功能是將所有文章摘要中的 Wordpress 教程網字眼,全部替換成我就愛 Wordpress 。

3 、批量修改文章的作者

假設你的博客有兩名註冊用户,張三和李四,你想將張三的所有文章劃歸到李四名下,則可以執行以下語句:

UPDATE wp_posts

SET post_author = 李四用户 id

WHERE post_author = 張三用户 id;

那如何獲得李四的用户 id 和張三的用户 id 呢?你可以執行以下 SQL 語句:

SELECT ID, user_nicename, display_name FROM wp_users;

4 、批量修改文章評論者的網站 URL

假設,你的博客有個非常忠實的讀者,給你的博客文章留下很多有用的評論,同時他的評論都填寫了留言者的網站 URL,但是有一天他的博客域名換了,並請求你更新他留言中的網站 URL,那你怎麼辦?手動一個一個幫他改,這不太現實。你可以使用以下 SQL 語句:

UPDATE wp_comments

SET comment_author_url =

REPLACE( comment_author_url, ‘ 舊的鏈接’, ‘ 新的鏈接’ )

以上語句,將留言者所有舊的網站鏈接舊的鏈接,更改為新的網址。

5 、禁用所有文章的 pingback 功能

開啓 pingback 功能,可以在別人引用你的文章鏈接的情況下,給你發送通知,但是該功能似乎對我們的文章沒多大幫助,所以禁用 pingback 功能的 SQL 如下:

UPDATE wp_posts

SET ping_status = ‘closed’;

6 、刪除某個評論者的所有評論

如果你的博客想要封殺某人,並刪除其在你博客的所有留言,可以使用以下 SQL 語句:

(1) 根據留言者的博客 URL 進行刪除,以下 SQL 語句將刪除所有 URL 為 www.example.com 的評論

DELETE FROM wp_comments

WHERE comment_author_url LIKE ‘%www.example.com%’;

(2) 根據留言者的暱稱進行刪除,以下語句將刪除所有暱稱為 example 的評論

DELETE FROM wp_comments

WHERE comment_author = ‘example’;

(3) 根據留言者的 Email 進行刪除,以下語句將刪除所有 Email 為 example@example.com 的評論

DELETE FROM wp_comments

WHERE comment_author_email = ‘example@example.com’;

7 、替換所有評論中的敏感詞彙

國內的互聯網監控力度表現出了不斷加強的趨勢,如果你的博客評論中出現了大量的敏感詞彙,很可能離被牆也不遠了。最好的做法是,替換相關的敏感詞彙,以保證你的博客安全,以下 SQL 語句將所有評論中的 尼瑪,替換成 **,替換內容根據你的需要來。

UPDATE wp_comments

SET comment_content = REPLACE( comment_content, ‘ 尼瑪’, ‘**’ );

8 、關閉文章評論功能

如果你想關閉指定日期前的文章評論,則執行以下 SQL 語句:

UPDATE wp_posts

SET comment_status = ‘closed’

WHERE post_date < ‘ 指定日期’ AND post_status = ‘publish’;

如果你想關閉所有文章評論,則執行以下 SQL 語句:

UPDATE wp_posts

SET comment_status = ‘closed’ WHERE post_status = ‘publish’;

以上!