WordPress利用SQL命令删除文章中的URL/摘要/作者/敏感词汇等方法 – WordPress 教程

2022年 10月 24日 发表评论
腾讯云正在大促:点击直达 阿里云超级红包:点击领取
免费/便宜/高性价比服务器汇总入口(已更新):点击这里了解

因为采集插件里设置了一些关键词加上A标签,确小看了一篇文章中可以带上如此多的关键词。导致一篇文章出现了几十个超链接。

如何做到,只删除特定链接而不破坏其他链接。

使用MYSQL的SQL命令批量处理。

1.删除wordpress 文章中的指定链接。

UPDATE wp_posts SET post_content = REPLACE( post_content,'<a href="https://www.xingkongweb.com/">服务器文档网</a>', '服务器文档网' );

此方法可以删除文章中的超链接,保留其他超链接不作改变。这个命令,可以参考一下之前我写过的一篇《MYSQL 如何批量修改表中数据》 代码其实是样的,主要控制好里面的表和字段即可。

2.批量修改WordPress文章摘要

UPDATE wp_posts SET post_excerpt = REPLACE( post_excerpt, 'baidu', '百度' );

和一条代码一样,只是这里换了一个 post_excerpt 字段

3.批量修改文章的作者

张三发布的文章,全部转到李四的账号上面。

UPDATE wp_posts SET post_author = 李四用户id WHERE post_author = 张三用户id;

以上的用户ID如何获取,使用下面的代码获取wordpress的所以用户的ID

SELECT ID, user_nicename, display_name FROM wp_users;

假设此时张三的ID为2,李四的ID为5,就可以利用代买进行转移。

UPDATE wp_postsSET post_author = 5 WHERE post_author = 2;

4.批量修改文章评论者的网站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_postsSET 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@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';

有能力者可以将这些方法做一个插件出来。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: