建站教程

建站教程

Products

当前位置:首页 > 建站教程 >

WP菜鸟建站28:wordpress网站改域名后,批量修改图片地址(WordPress使用SQL语句快速批量修改文章内容信息的方法)

GG网络技术分享 2025-03-18 16:12 0


WP菜鸟建站28:wordpress网站改域名后,批量修改图片地址

一般情况下,对于一个wordpress网站的站长来说,不会轻易地更换自己网站的域名。因为,域名就相当于一个wordpress网站的身份证号,用户可以通过这个域名,就可以对号入座地找到你的网站。再一个原因,如果更换域名了,如果wordpress网站的空间是国内的,还要重新对新的域名进行备案,会占用不少的时间。

但是,事情总是有物特殊的情况,比如说:我们的wordpress网站因为一些违规操作,而遭到搜索引擎的降权,甚至不再收录我们的网站。在这种情况下,我们就可能需要更换我们的wordpress网站的域名了。这个时候,就会又有一个情况可能会出现:有许多的wordpress网站的主题可能在插入文章图片时,写到wordpress数据库的图片地址是个绝对路径地址,也就是还有域名的图片地址(如下图)。

这个时候,如果我们的wordpress网站更换了域名,那么,在原域名停止使用后,这些绝对路径的图片地址就在浏览器中打不开了。那么,这个时候,作为wordpress网站的站长的我们,应该怎么办呢?只有2种方法,要么每篇文章重新上传图片,要么对wordpress网站的文章图片地址进行批量修改——把原域名修改成现在的新域名。

显然,第一种方法——每篇文章重新上传图片,这是行不通的。如果我们的wordpress网站文章的数量不多,才几篇或十几篇,那还好说。如果我们的网站有几千篇,甚至上万篇,那一篇一篇的重新上传图片,那不是找罪受吗?

所以,第二种方法,才是我们的正确之道。那么,问题又来了,怎样给我们的wordpress网站的文章图片地址批量修改域名呢?图片地址是存储在wordpress数据库中的,我们可不可以通过对wordpress数据库的操作来批量修改文章图片的地址呢?答案是肯定的了。

在前面,我们介绍有phpmyadmin数据库管理工具(当然,你也可以使用其它的数据库管理工具来操作)。我们这里就来介绍,使用phpmyadmin来批量修改wordpress网站文章的图片地址。

方法一:SQL代码来批量修改文章图片地址。

第一步:phpmyadmin登录你的wordpress数据库。

如果你同一个服务器有多个网站,那么,你登录phpmyadmin后,可能会有多个网站数据库,如下图:

一定要找对你要更换域名的wordpress网站的数据库,如果找错了,那可就糟糕了。

第二步:选择wp-posts数据表。

找对你的wordpress网站数据库后,点击左侧的“wp-posts”这个数据表(如下图),这个表就是wordpress用来存放文章信息的表,wordpress网站的所有的文章的主要信息都存放在这个表中。

第三步:点击顶部菜单中的“SQL”;

点击上图中的“SQL”这个菜单,进入到SQL语句的界面,如下图:

第四步:在输入框中输入SQL语句。

在上图标红的输入框中输入如下这句SQL代码,然后点击“执行”按钮。

UPDATE wp_posts SET post_content = replace( post_content, '旧域名', '新域名' )

方法二:利用“查找与替换”功能来批量替换。

第一步:phpmyadmin进入到wp-posts数据表。

方法同上面一样,这里就不多说。

第二步:点击顶部菜单中的“搜索”,地入到搜索界面,如下图:

第三步:点击“查找与替换”按钮。进入到如下图的界面:

​第四步:在“查找”输入框中输入“旧域名”,在“替换为”输入框中输入“你的新域名”,字段选择post_content(文章内容)。然后点击“执行按钮。

通过上面的2种方法,都可以实现wordpress网站文章图片地址的批量修改。但不管你使用哪种方法来修改图片地址中的域名,你最好都要在修改前备份一下wordpress网站的数据库——以防修改失败造成损失。还是那句话:修改有风险,操作需谨慎。

WordPress使用SQL语句快速批量修改文章内容信息的方法

WordPress怎么样批量修改文章内容信息?对于少量文章内容,我们可以一篇一篇的进行修改,但是,如果文章数量多了,一篇一篇去修改就太麻烦了。对于wordpress程序来说,遇到问题能够找到的办法还是很多的,下面分享一下使用SQL语句来操作数据库,实现WordPress批量修改文章内容信息的方法。

注意:修改数据库之前,必须备份一下,以防万一。

下面我们分条介绍各个SQL语句的功能,所有语句都使用默认的 wp_ 表前缀,如果你的不是,请自行更改。

1、批量修改文章内容:

如果你想替换之前写过的所有文章中的某些内容,如更换博客的名称,更换博客的网址,更换文章配图的链接等等,你可以使用以下SQL语句:

UPDATE wp_posts

SET post_content = REPLACE( post_content, ‘旧内容’, ‘新内容’ );

解释:该语句的功能是将所有文章中的 vps推荐网 字眼,全部替换成 小七博客,你可以根据需要做一些更改。因为文章内容在数据库中是以HTML代码形式存储的,所以以上SQL语句同样可以替换HTML代码。

如果你只是想更改文章插图的链接,而不想影响其他的链接,可以使用以下SQL语句,所有src=”zyhot.com被替换成了src=”www.zyhot.com

如果你是以图片附件形式上传的话,需要更改图片附件的GUID

UPDATE wp_posts

SET guid = REPLACE (guid, ‘zyhot.com’, ‘www.zyhot.com’)

WHERE post_type = ‘attachment’;

2、批量修改文章摘要:

文章摘要就是你在WordPress后台编辑文章时,”摘要”框中输入的内容,如果你想批量更改文章摘要,可以使用以下语句:

注:该语句的功能是将所有文章摘要中的 vps推荐网 字眼,全部替换成 小七博客。

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

假设你的博客有两名注册用户,张三和李四,你想将张三的所有文章划归到李四名下,这时候该怎么办呢?你可以执行以下语句:

UPDATE wp_posts

SET post_excerpt = REPLACE( post_excerpt, ‘张三’, ‘李四’);

那如何获得 李四的用户id 和 张三的用户id 呢?你可以执行以下SQL语句:

SELECT ID, user_nicename, display_name FROM wp_users;

这时将列出你博客上所有的注册用户的ID,昵称和公开显示的名称,你现在就可以找到对应用户的ID了,

你的SQL就可以这样写了:

UPDATE wp_posts

SET post_author = 5

WHERE post_author = 2;

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

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

UPDATE wp_posts

SET ping_status = ‘closed’;

注:以上语句,将留言者所有旧的网站链接zyhot.com,更改为新的网址www.zyhot.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’;

(3)根据留言者的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将禁止2018-10-26之前发表的所有文章的评论,你可以根据需要修改日期:

UPDATE wp_posts

SET comment_status = ‘closed’

WHERE post_date < ‘2016-10-24’ AND post_status = ‘publish’;

UPDATE wp_posts

SET comment_status = ‘closed’

WHERE post_date < ‘2018-10-26’ AND post_status = ‘publish’;

(2) 关闭所有文章的评论:

有时候很不幸,在不可抗力的威胁下,你不得不关闭所有文章的评论,可以使用以下SQL语句:

UPDATE wp_posts

SET comment_status = ‘closed’ WHERE post_status = ‘publish’;

标签:

提交需求或反馈

Demand feedback