你是否遇到過如下幾種狀況:
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’;
以上!