首頁 > CMS教程 > WordPress > 主體

【整理分享】WordPress批量修改文章資訊的方法詳解

青灯夜游
發布: 2023-03-10 20:10:25
轉載
2788 人瀏覽過

WordPress如何批次修改文章資訊?以下這篇文章為大家介紹一下WordPress批量修改文章內容、摘要、作者、所有評論、敏感詞彙等信息,希望對大家有所幫助!

【整理分享】WordPress批量修改文章資訊的方法詳解

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

  • 部落格更換域名,部落格文章的內容也要跟著換
  • 使用的圖片地址更換了
  • 寫了很多文章,回過頭來想切換作者
  • 想刪除某個可惡留言者的所有留言
  • #想更改某個留言者所有留言的網站URL
  • 想要停用所有文章的pingback
  • 想要停用所有文章的評論功能
##所有的這些,都涉及到一個關鍵字:

批量修改。如果在WordPress後台,手動地去一個一個修改文章內容,相信會讓你很抓狂,對一些擁有上千篇文章的博客來說,幾乎是不可能完成任務。本文將教你如何使用SQL語句來操作你的資料庫,實現資料的大量修改。

如果你沒學過資料庫的相關知識,肯定不知道SQL是什麼,但本文所涉及的內容不需要你了解資料庫的知識,也不需要你精通SQL語句的編寫,你完全可以直接使用本文提到的SQL,下面我們將分條介紹各個SQL語句的功能,所有語句都使用預設的

wp_ 表前綴,如果你的不是,請自行更改。

開始之前,先介紹以下如何執行SQL語句,進行批次操作。現在一般的空間都是用phpmyadmin來管理資料庫,這裡將以phpmyadmin為例來介紹如何執行SQL語句:

  • 進入你的phpmyadmin管理頁面,然後進入你的部落格對應的資料庫

  • 功能表列有個

    SQL 選項,點選進去

  • 出現一個SQL語句的輸入框,現在你就可以在裡面輸入SQL語句了

  • 輸入完畢,點選

    執行 ,將執行你剛才輸入的SQL語句

  • ##SQL語句執行完畢,你的文章也被批次修改了,現在去看看你的文章是否都被更改了
  • 最後提個醒:以下介紹的SQL語句都在我的部落格上做過測試,但是儘管如此,操作資料庫之前都要先備份一下你的資料庫;定期備份你的資料庫是好習慣
  • SQL指令執行視窗:

【整理分享】WordPress批量修改文章資訊的方法詳解

1、批次修改文章內容:

如果你想取代之前寫過的所有文章中的某些內容,例如更換部落格的名稱,更換部落格的網址,更換文章配圖的連結等等,你可以使用以下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';
登入後複製

2、批次修改文章摘要:

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

UPDATE wp_posts 
SET post_excerpt = replace( post_excerpt, '露兜博客', '露兜中文博客' );
登入後複製

該語句的功能是將所有文章摘要中的
露兜部落格

字眼,全部替換成露兜中文部落格

3、大量修改文章的作者:

假設你的部落格有兩位註冊用戶,張三和李四,你想將張三的所有文章劃歸到李四名下,這時候該怎麼辦?你可以執行以下語句:

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:

【整理分享】WordPress批量修改文章資訊的方法詳解

#你的SQL就可以這樣寫了:

UPDATE wp_posts 
SET post_author = 5 WHERE post_author = 2;
登入後複製

4、批量修改文章评论者的网站URL:

假设,你的博客有个非常忠实的读者,给你的博客文章留下很多有用的评论,同时他的评论都填写了留言者的网站URL,但是有一天他的博客域名换了,并请求你更新他留言中的网站URL,那你怎么办?手动一个一个帮他改,这不太现实。你可以使用以下SQL语句:

UPDATE wp_comments 
SET comment_author_url = REPLACE( comment_author_url, 'oldurl.com', 'newurl.com' )
登入後複製

以上语句,将留言者所有旧的网站链接oldurl.com,更改为新的网址newurl.com

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

开启pingback功能,可以在别人引用你的文章链接的情况下,给你发送通知,但是该功能似乎对我们的文章没多大帮助,那为何不把pingback给禁止了呢?在WordPress后台 - 设置 - 讨论,取消勾选"接收来自外部博客的引用通告(pingbacks 和 trackbacks)",这样以后的文章都不开启pingback,但是该选项不会对之前的已发布的文章起作用,还是要用到SQL:

UPDATE wp_posts 
SET ping_status = 'closed';
登入後複製

6、删除所有文章的修订版:

在通常情况下,文章的修订版对大多数人来说没多大意义,而且修订版的数量会随着你修改文章的次数不断增长,这会增加数据库的查询速度,这并不是什么好事。互联网上有很多教你如何禁止修订版的文章,还有很多插件可以删除文章修订版,你可以自己搜索看看。这里教你如何使用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';
登入後複製

7、删除某个评论者的所有评论:

如果你的博客想要封杀某人,并删除其在你博客的所有留言,可以使用以下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';
登入後複製

8、替换所有评论中的敏感词汇:

国内的互联网监控力度表现出了不断加强的趋势,如果你的博客评论中出现了大量的敏感词汇,很可能离被墙也不远了。最好的做法是,替换相关的敏感词汇,以保证你的博客安全,以下SQL语句将所有评论中的 fuck,替换成 **,替换内容根据你的需要来。

UPDATE wp_comments 
SET comment_content = replace( comment_content, 'fuck', '**' );
登入後複製

9、关闭文章评论功能

有时候你的博客可能会因为某种原因,需要关闭文章的评论。在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教程

以上是【整理分享】WordPress批量修改文章資訊的方法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:ludou.org
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!