2023年WordPress禁用自动草稿功能 防止数据库产生垃圾数据(亲测有效)
题解析
进入WordPress后台首页(仪表盘)和点击“写文章”时,会自动在数据库新增自动草稿功能生成的新文章ID。
举例,点击仪表盘又点击写文章,这样可能会有两个自动草稿,每点击一次“写文章”会新增一个自动草稿,之前自动新增的自动草稿,WordPress就无法读取原来的自动草稿,所以导致数据库产生了垃圾数据和文章ID不连续。
解决办法
一、在文件管理找到/wp-admin/includes/post.php文件,大概在第683行到第692行的代码,如下图所示。
二、替换成以下代码并保存文件:
$posts = query_posts(array(
‘post_status’ => ‘auto-draft’,
‘post_type’ => $post_type,
‘posts_per_page’ => 1
));
if ($posts) {
$post = get_post($posts[0]->ID);
} else {
$post_id = wp_insert_post(array(
‘post_title’ => __(‘Auto Draft’) ,
‘post_type’ => $post_type,
‘post_status’ => ‘auto-draft’,
));
$post = get_post($post_id);
}
上面的代码是允许保存自动草稿,如果数据库中已有自动草稿,下次写文章时,自动加载原来的自动草稿用作新文章ID,以最大限度的保证文章ID连续性。
注意:WordPress版本升级后,需要再次修改此文件。
可选解决办法
自写插件也可以移除仪表盘的快速草稿,进入后台首页或者点击仪表盘,WordPress系统不会自动新增自动草稿。
这个没有验证,目前的方法已经够解决当前问题了,下次有时间再写个插件吧,貌似用多插件也会
TP源码网 » 2023年WordPress禁用自动草稿功能 防止数据库产生垃圾数据(亲测有效)