多语言展示
当前在线:953今日阅读:84今日分享:32

WordPress如何使用SQL语句批量操作(2)

请参考WordPress如何使用SQL语句批量操作(1)你是否遇到过如下几种状况:    博客更换域名,博客文章的内容也要跟着换    使用的图片地址更换了    写了很多文章,回过头来想切换作者    想删除某个可恶留言者的所有留言    想更改某个留言者所有留言的网站URL    想要禁用所有文章的pingback想要禁用所有文章的评论功能所有的这些,都涉及到一个关键词:批量修改。如果在WordPress后台,手动地去一个一个修改文章内容,相信会让你很抓狂,对一些拥有上千篇文章的博客来说,几乎是不可能完成任务。本文将教你如何使用SQL语句来操作你的数据库,实现数据的批量修改。
工具/原料
1

电脑

2

wordpress

3

PhpMyAdmin

方法/步骤
1

4、批量修改文章评论者的网站URL:假设,你的博客有个非常忠实的读者,给你的博客文章留下很多有用的评论,同时他的评论都填写了留言者的网站URL,但是有一天他的博客域名换了,并请求你更新他留言中的网站URL,那你怎么办?手动一个一个帮他改,这不太现实。你可以使用以下SQL语句:UPDATE wp_comments SET comment_author_url = REPLACE( comment_author_url, 'oldurl.com', 'newurl.com' )

2

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

3

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';

4

7、删除某个评论者的所有评论:如果你的博客想要封杀某人,并删除其在你博客的所有留言,可以使用以下SQL语句。根据留言者的昵称进行删除,以下语句将删除所有昵称为 example 的评论:DELETE FROM wp_comments WHERE comment_author = 'example';

5

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

6

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';

7

(2) 关闭所有文章的评论:有时候很不幸,在不可抗力的威胁下,你不得不关闭所有文章的评论,可以使用以下SQL语句:UPDATE wp_posts SET comment_status = 'closed' WHERE post_status = 'publish';

推荐信息