WordPress如何批量修改文章信息

73次阅读
没有评论

共计 3816 个字符,预计需要花费 10 分钟才能阅读完成。

本篇内容介绍了“WordPress 如何批量修改文章信息”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让丸趣 TV 小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

你是否遇到过如下几种状况:

博客更换域名,博客文章的内容也要跟着换

使用的图片地址更换了

写了很多文章,回过头来想切换作者

想删除某个可恶留言者的所有留言

想更改某个留言者所有留言的网站 URL

想要禁用所有文章的 pingback

想要禁用所有文章的评论功能

所有的这些,都涉及到一个关键词:批量修改。如果在 WordPress 后台,手动地去一个一个修改文章内容,相信会让你很抓狂,对一些拥有上千篇文章的博客来说,几乎是不可能完成任务。本文将教你如何使用 SQL 语句来操作你的数据库,实现数据的批量修改。

如果你没学过数据库的相关知识,肯定不知道 SQL 是什么,但是本文所涉及到的内容不需要你了解数据库的知识,也不需要你精通 SQL 语句的编写,你完全可以直接使用本文提到的 SQL,下面我们将分条介绍各个 SQL 语句的功能,所有语句都使用默认的 wp_ 表前缀,如果你的不是,请自行更改。

开始之前,先介绍以下如何执行 SQL 语句,进行批量操作。现在一般的空间都是用 phpmyadmin 来管理数据库,这里将以 phpmyadmin 为例来介绍如何执行 SQL 语句:

进入你的 phpmyadmin 管理页面,然后进入你的博客对应的数据库

菜单栏有个 SQL 选项,点击进去

出现一个 SQL 语句的输入框,现在你就可以在里面输入 SQL 语句了

输入完毕,点击 执行,将执行你刚才输入的 SQL 语句

SQL 语句执行完毕,你的文章也被批量修改了,现在去看看你的文章是否都被更改了

最后提个醒:以下介绍的 SQL 语句都在我的博客上做过测试,但是尽管如此,操作数据库之前都要先备份一下你的数据库;定期备份你的数据库是好习惯

SQL 命令执行窗口:

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:

你的 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 如何批量修改文章信息”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注丸趣 TV 网站,丸趣 TV 小编将为大家输出更多高质量的实用文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-12发表,共计3816字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)