您好,登錄后才能下訂單哦!
本篇內容介紹了“WordPress如何批量修改文章信息”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
你是否遇到過如下幾種狀況:
博客更換域名,博客文章的內容也要跟著換
使用的圖片地址更換了
寫了很多文章,回過頭來想切換作者
想刪除某個可惡留言者的所有留言
想更改某個留言者所有留言的網站URL
想要禁用所有文章的pingback
想要禁用所有文章的評論功能
所有的這些,都涉及到一個關鍵詞:批量修改。如果在WordPress后臺,手動地去一個一個修改文章內容,相信會讓你很抓狂,對一些擁有上千篇文章的博客來說,幾乎是不可能完成任務。本文將教你如何使用SQL語句來操作你的數據庫,實現數據的批量修改。
如果你沒學過數據庫的相關知識,肯定不知道SQL是什么,但是本文所涉及到的內容不需要你了解數據庫的知識,也不需要你精通SQL語句的編寫,你完全可以直接使用本文提到的SQL,下面我們將分條介紹各個SQL語句的功能,所有語句都使用默認的 wp_ 表前綴,如果你的不是,請自行更改。
開始之前,先介紹以下如何執行SQL語句,進行批量操作。現在一般的空間都是用phpmyadmin來管理數據庫,這里將以phpmyadmin為例來介紹如何執行SQL語句:
進入你的phpmyadmin管理頁面,然后進入你的博客對應的數據庫
菜單欄有個 SQL 選項,點擊進去
出現一個SQL語句的輸入框,現在你就可以在里面輸入SQL語句了
輸入完畢,點擊 執行 ,將執行你剛才輸入的SQL語句
SQL語句執行完畢,你的文章也被批量修改了,現在去看看你的文章是否都被更改了
最后提個醒:以下介紹的SQL語句都在我的博客上做過測試,但是盡管如此,操作數據庫之前都要先備份一下你的數據庫;定期備份你的數據庫是好習慣
SQL命令執行窗口:
如果你想替換之前寫過的所有文章中的某些內容,如更換博客的名稱,更換博客的網址,更換文章配圖的鏈接等等,你可以使用以下SQL語句:
UPDATE wp_posts
SET post_content = replace( post_content, '露兜博客', '露兜中文博客' );
該語句的功能是將所有文章中的 露兜博客 字眼,全部替換成 露兜中文博客,你可以根據需要做一些更改。因為文章內容在數據庫中是以HTML代碼形式存儲的,所以以上SQL語句同樣可以替換HTML代碼。
如果你只是想更改文章插圖的鏈接,而不想影響其他的鏈接,可以使用以下SQL語句,所有src="oldurl.com被替換成了src="newurl.com
UPDATE wp_posts
SET post_content =
REPLACE (post_content, 'src="oldurl.com', 'src="newurl.com');
如果你是以圖片附件形式上傳的話,需要更改圖片附件的GUID
UPDATE wp_posts
SET guid = REPLACE (guid, 'oldsiteurl.com', 'newsiteurl.com')
WHERE post_type = 'attachment';
文章摘要就是你在WordPress后臺編輯文章時,"摘要"框中輸入的內容,如果你想批量更改文章摘要,可以使用以下語句:
UPDATE wp_posts
SET post_excerpt = replace( post_excerpt, '露兜博客', '露兜中文博客' );
該語句的功能是將所有文章摘要中的 露兜博客 字眼,全部替換成 露兜中文博客。
假設你的博客有兩名注冊用戶,張三和李四,你想將張三的所有文章劃歸到李四名下,這時候該怎么辦呢?你可以執行以下語句:
UPDATE wp_posts
SET post_author = 李四用戶id
WHERE post_author = 張三用戶id;
那如何獲得 李四的用戶id 和 張三的用戶id 呢?你可以執行以下SQL語句:
SELECT ID, user_nicename, display_name FROM wp_users;
這時將列出你博客上所有的注冊用戶的ID,昵稱和公開顯示的名稱,你現在就可以找到對應用戶的ID了,如下圖,zhangsan的ID為2,lisi的ID為5:
你的SQL就可以這樣寫了:
UPDATE wp_posts
SET post_author = 5 WHERE post_author = 2;
假設,你的博客有個非常忠實的讀者,給你的博客文章留下很多有用的評論,同時他的評論都填寫了留言者的網站URL,但是有一天他的博客域名換了,并請求你更新他留言中的網站URL,那你怎么辦?手動一個一個幫他改,這不太現實。你可以使用以下SQL語句:
UPDATE wp_comments
SET comment_author_url = REPLACE( comment_author_url, 'oldurl.com', 'newurl.com' )
以上語句,將留言者所有舊的網站鏈接oldurl.com,更改為新的網址newurl.com
開啟pingback功能,可以在別人引用你的文章鏈接的情況下,給你發送通知,但是該功能似乎對我們的文章沒多大幫助,那為何不把pingback給禁止了呢?在WordPress后臺 - 設置 - 討論,取消勾選"接收來自外部博客的引用通告(pingbacks 和 trackbacks)",這樣以后的文章都不開啟pingback,但是該選項不會對之前的已發布的文章起作用,還是要用到SQL:
UPDATE wp_posts
SET ping_status = 'closed';
在通常情況下,文章的修訂版對大多數人來說沒多大意義,而且修訂版的數量會隨著你修改文章的次數不斷增長,這會增加數據庫的查詢速度,這并不是什么好事。互聯網上有很多教你如何禁止修訂版的文章,還有很多插件可以刪除文章修訂版,你可以自己搜索看看。這里教你如何使用SQL語句,刪除所有已產生的文章修訂版數據:
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';
如果你的博客想要封殺某人,并刪除其在你博客的所有留言,可以使用以下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';
(2)根據留言者的Email進行刪除,以下語句將刪除所有Email為 example@example.com 的評論
DELETE from wp_comments
WHERE comment_author_email = 'example@example.com';
國內的互聯網監控力度表現出了不斷加強的趨勢,如果你的博客評論中出現了大量的敏感詞匯,很可能離被墻也不遠了。最好的做法是,替換相關的敏感詞匯,以保證你的博客安全,以下SQL語句將所有評論中的 fuck,替換成 **,替換內容根據你的需要來。
UPDATE wp_comments
SET comment_content = replace( comment_content, 'fuck', '**' );
有時候你的博客可能會因為某種原因,需要關閉文章的評論。在WordPress后臺 - 設置 - 討論,那里取消勾選"允許人們發表新文章的評論",以后發表的文章默認是關閉評論的。但是之前已經發表的文章,若想關閉評論需要你一篇一篇地去修改評論設置,這是一件比較痛苦的事情。以下SQL語句可以幫助你輕松地批量關閉文章評論:
(1) 關閉所有舊文章的評論:
通常情況下,一篇舊文章就很少會有人發表評論了,一般訪問舊文章的訪客大都來自搜索引擎,這是好事,但是這部分訪客還會提出一些新問題,尤其是技術問題,但是可能文章中提到的技術細節你已經淡忘,這時候會讓你很難辦。最好的做法還是還是禁用舊文章的評論,以下SQL將禁止2009-01-01之前發表的所有文章的評論,你可以根據需要修改日期:
UPDATE wp_posts
SET comment_status = 'closed' WHERE post_date < '2009-01-01' AND post_status = 'publish';
(2) 關閉所有文章的評論:
有時候很不幸,在不可抗力的威脅下,你不得不關閉所有文章的評論,可以使用以下SQL語句:
UPDATE wp_posts
SET comment_status = 'closed' WHERE post_status = 'publish';
“WordPress如何批量修改文章信息”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。