文章目录[隐藏]
如果网站只有几篇文章或者百来篇文章那慢慢的一个文章一个文章的手动修改也可以做到,但是网站有成千上万的文章的话正好应了那句话“回忆总想哭”经过易破解百度查询相关资料,我们可以通过执行数据库SQL操作语句来实现批量的秒修改的方法。
此命令只适合于WordPress开源建设的网站,现在大多数的网站都是使用PHP及MySQL来搭配的,那么WordPress等等都是使用这套组合,WordPress 默认的数据库前缀是“wp”这点就是我们需要注意的地方,注意你的数据库前缀是不是wp的请自行更改。
1、下面分享一种通过执行数据库SQL命令进行批量替换帖子内容的方法
1、打开服务器进入到数据库控制面板 PHPmyadmin ;2、点击SQL并执行如下命令:UPDATE wp_posts SET post_content = replace(post_content,’文章内容旧关键字‘,’文章内容新关键字’);
这句命令的大概意思就是找到数据库表wp_posts SET post将里面的“准备替换内容”批量修改为“新内容”
1、批量修改文章内容
如果你想替换之前写过的所有文章中的某些内容,如更换博客的名称,更换博客的网址,更换文章配图的链接等等,你可以使用以下SQL语句:
UPDATE wp_posts SET post_content = REPLACE( post_content,'易破解网站','易破解');
该语句的功能是将所有文章中的 易破解网站 字眼,全部替换成 易破解,你可以根据需要做一些更改。因为文章内容在数据库中是以HTML代码形式存储的,所以以上SQL语句同样可以替换HTML代码。
如果你只是想更改文章插图的链接,而不想影响其他的链接,可以使用以下SQL语句,所有src=”YPOJIE.COM被替换成了src=”WWWW.YPOJIE.COM
UPDATE wp_posts SET post_content = REPLACE (post_content,'src="YPOJIE.COM','src="WWWW.YPOJIE.COM');
如果你是以图片附件形式上传的话,需要更改图片附件的GUID
UPDATE wp_postsSET guid = REPLACE (guid,'YPOJIE.COM', WWWW.YPOJIE.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了,小白的ID为2,易破解网站的ID为5:
你的SQL就可以这样写了:
UPDATE wp_posts SET post_author =5 WHERE post_author =2;
4、批量修改文章评论者的网站URL
假设,你的博客有个非常忠实的读者,给你的博客文章留下很多有用的评论,同时他的评论都填写了留言者的网站URL,但是有一天他的博客域名换了,并请求你更新他留言中的网站URL,那你怎么办?手动一个一个帮他改,这不太现实。你可以使用以下SQL语句:
UPDATE wp_posts SET post_author =5 WHERE post_author =2;
以上语句,将留言者所有旧的网站链接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,cFROM wp_posts aLEFT 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@YPOJIE.COM 的评论
DELETE FROM wp_comments WHERE comment_author_email ='example@YPOJIE.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 < span>'2009-01-01' AND post_status ='publish';
(2) 关闭所有文章的评论:
有时候很不幸,在不可抗力的威胁下,你不得不关闭所有文章的评论,可以使用以下SQL语句:
UPDATE wp_posts SET comment_status ='closed' WHERE post_status ='publish';
10、如何批量修改文章标题(内容替换)执行sql语句,在数据库里进行批量替换,代码如下
UPDATE wp_posts SET post_title = REPLACE( post_title, '易破解网站', 'WWWW.YPOJIE.COM' );
11、批量更改文章发布时间
update wp_posts set post_date= replace(post_date, '2019-03', '2020-04') ;
提示:如果你的数据库表名称修改过的,请把默认的数据库表 wp_ 修改成你现在的表名称再执行sql语句。
注意:数据库操作不可逆,请在操作数据库之前进行备份,出现问题可以还原成原来的样子,否则多年的辛苦及因为自己一时的手痒付之东流了。
WordPress 数据表作用介绍
首先分别来先看看 WordPress 所有的数据表都是干什么用的吧,一下是 WordPress 完整的 12 张数据表,当然刚安装好的时候一般是只有 11 张表的,如果还有其它相关的数据库,那么可能就不是 WordPress 本身的数据库,有可能是某些主题或插件需要而创建的,所以一下肯定易破解要介绍的还是 WordPress 本身的数据库表和字段了。
1、wp_commentmeta:存储 Akismet 或手工审核的评论是否为垃圾评论的判断结果;
2、wp_comments:存储评论信息,如评论内容、评论所属文章、评论人昵称、邮箱、URL 等;
3、wp_links:存储友情链接信息,如友链名称、URL、打开方式、描述、是否可见等;
4、wp_options:存储 WordPress 系统默认及后台系统选项、插件及主题配置信息,包括网站标题、副标题、当前主题等等;
5、wp_postmeta:存储文章的一些相关信息,如文章附件图片的 alt 信息、文章所在分类的 URL 以及文章自定义的自定义字段,其中可能就有文章访问次数等;
6、wp_posts:存储文章信息,包括文章标题、正文、摘要、作者、发布时间、访问密码、评论数、修改时间、文章地址等;
7、wp_termeta:存储对菜单分类的更多设置,属于开发性功能居多,例如分类目录的缩略图、颜色标识等;
8、wp_terms:存储菜单分类、标签分类名称及 URL 信息;
9、wp_term_relationships:存储文章和分类、标签的相互对应关系;
10、wp_term_taxonomy:存储分类和标签的描述信息、父子关系、所属包含的文章数等;
11、wp_usermeta:存储用户的姓名、昵称、权限等信息;
12、wp_users:存储用户名、密码、昵称、邮箱、注册时间等信息;
wp_commentmeta
meta_id:自增唯一 ID
comment_id:评论 ID
meta_key:键名
meta_value:键值
wp_comments
comment_ID:自增唯一 ID
comment_post_ID:对应文章 ID
comment_author:评论者
comment_author_email:评论者邮箱
comment_author_url:评论者网址
comment_author_IP:评论者 I
comment_date:评论时间comment
_date_gmt:评论时间(GMT+0 时间)
comment_content:评论正文
comment_karma:未知
comment_approved:评论是否被批准
comment_agent:评论者的 USER AGENT
comment_type:评论类型(pingback/普通)
comment_parent:父评论 ID
user_id:评论者用户 ID(未登录用户的评论则为空
wp_links
link_id:自增唯一 ID
link_url:链接 URL
link_name:链接标题
link_image:链接图片
link_target:链接打开方式
link_description:链接描述
link_visible:是否可见(Y/N)
link_owner:添加者用户 ID
link_rating:评分等级
link_updated:未知
link_rel:XFN 关系
link_notes:XFN 注释
link_rss:链接 RSS 地址
wp_options
option_id:自增唯一 ID
blog_id:博客 ID,用于多用户博客,默认 0
option_name:键名
option_value:键值
autoload:WordPress 加载时自动载入(yes/no)
wp_postmeta
meta_id:自增唯一 ID
post_id:对应文章 ID
meta_key:键名
meta_value:键值
wp_posts
ID:自增唯一 ID
post_author:对应作者 ID
post_date:发布时间
post_date_gmt:发布时间(GMT+0 时间)
post_content:正文
post_title:标题
post_excerpt:摘录
post_status:文章状态(publish/auto-draft/inherit 等)
comment_status:评论状态(open/closed)
ping_status:PING 状态(open/closed)
post_password:文章密码
post_name:文章缩略名
to_ping:未知
pinged:已经 PING 过的链接
post_modified:修改时间
post_modified_gmt:修改时间(GMT+0 时间)
post_content_filtered:未知
post_parent:父文章,主要用于 PAGE
guid:唯一标识符(短链接)
menu_order:排序 ID
post_type:文章类型(post/page 等)
post_mime_type:MIME 类型
comment_count:评论总数
wp_termeta
meta_id:自增唯一 ID
term_id:分类 ID
meta_key:键名
meta_value:键值
wp_terms
term_id:分类 ID
name:分类名
slug:缩略名
term_group:分组
wp_term_relationships
object_id:对应文章 ID/链接 ID
term_taxonomy_id:对应自定义分类 ID
term_order:排序
wp_term_taxonomy
term_taxonomy_id:自定义分类 ID
term_id:分类 ID
taxonomy:分类(category/post_tag)
description:分类描述
parent:所属父分类 ID
count:文章数统计
wp_usermeta
umeta_id:自增唯一 ID
user_id:对应用户 ID
meta_key:键名
meta_value:键值
wp_users
ID:自增唯一 ID
user_login:登录名
user_pass:密码
user_nicename:昵称
user_email:Email
user_url:网址
user_registered:注册时间
user_activation_key:激活码
user_status:用户状态
display_name:显示名称
以上便是参考 WordPress 官方和实际 WordPress 数据库而整理并标注的一些信息,其中有些数据表中的字段无法确定,或者其中有些字段在新版的 WordPress 中已经几乎未在使用,例如 wp_users 表中的 user_status 用户状态字段就没有使用。所以以上内容仅供简单查阅和参考。
以下是常用到得几个sql语句,可以根据自己的需要选择使用
修改配置表中的语句:
UPDATE wp_options SET option_value = replace( option_value, '老域名地址', '新域名地址')WHERE option_name = 'home' OR option_name ='siteurl';
修改文章中绝对地址的语句:
UPDATE wp_posts SET post_content = replace( post_content, '老域名地址','新域名地址') ; UPDATE wp_posts SET guid = replace( guid, '老域名地址','新域名地址')
修改评论中的语句:
UPDATE wp_comments SET comment_content = replace(comment_content, '老域名地址', '新域名地址') ; UPDATE wp_comments SET comment_author_url = replace(comment_author_url, '老域名地址', '新域名地址');
免责声明: 本网站所发布的一切资源均来自于会员发布以及互联网收集,不代表本站立场,仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则一切后果请用户自负;依据WordPress GPL开源许可协议分享,如有侵犯到您的权益,请联系我们。