位置:首页 > CMS技巧 > WordPress
wordpress利用SQL删除文章历史版本和删除自动草稿数据
日期:2023-01-05 人气:

大家好,对感兴趣的小伙伴,下面一起跟随三零脚本的小编来看看的例子吧。

一、wordpress自带代码,

只要把下面的代码复制到主题目录下的 function.php 中,再刷新下文章,就会自动删除全部文章修订版本和自动草稿文章。

// 删除修订版本所对应的相关联数据和自动草稿中的冗余数据。post_status='auto-draft'对应的是自动草稿数据
$wpdb->query( "DELETE FROM $wpdb->posts WHERE post_status='auto-draft' or post_type = 'revision'" );

 

这段代码不推荐长期放在function.php中,定期清理的时候,放入即可。

 

二、phpmyadmin进入数据库删除,数据库SQL语句命令

对数据库进行删除操作前,请一定记得先备份数据库!!!

1、我们可以通过执行下面这段语句,就可以快速找出所有文章历史修订版本和草稿:

SELECT * FROM wp_posts WHERE post_type = 'revision' or post_status = 'auto-draft';



2、首先执行下面这段语句命令,可以删除掉所有历史文章修订版本:

DELETE FROM wp_posts WHERE post_type = 'revision';



3、下面这段是删除所有自动草稿:

DELETE FROM wp_posts WHERE post_status = 'auto-draft';



4、但是在这些历史文章版本和草稿中,通常还有很多相关联的数据,这个一般存在post_postmeta中,我们也可以一并删除,执行下面这段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_status='auto-draft' or a.post_type = 'revision';

您可能感兴趣的文章