WordPress禁用自动草稿功能 防止数据库产生垃圾数据

test 496 0

问题解析

  进入WordPress后台首页(仪表盘)和点击“写文章”时,会自动在数据库新增自动草稿功能生成的新文章ID。

WordPress禁用自动草稿功能 防止数据库产生垃圾数据

  举例,点击仪表盘又点击写文章,这样可能会有两个自动草稿,每点击一次“写文章”会新增一个自动草稿,之前自动新增的自动草稿,WordPress就无法读取原来的自动草稿,所以导致数据库产生了垃圾数据和文章ID不连续。

WordPress禁用自动草稿功能 防止数据库产生垃圾数据

解决办法

一、在文件管理找到/wp-admin/includes/post.php文件,大概在第683行到第692行的代码,如下图。

WordPress禁用自动草稿功能 防止数据库产生垃圾数据

二、替换成以下代码并保存文件:

        $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版本升级后,需要再次修改此文件。

可选解决办法

  《QQWorld加速中国版》(在“安装插件”搜索该名字可安装此插件)插件可以移除仪表盘的快速草稿,进入后台首页或者点击仪表盘,WordPress系统不会自动新增自动草稿。

WordPress禁用自动草稿功能 防止数据库产生垃圾数据

  此解决办法虽然不是非必解决办法,但是对进入后台速度优化是有一点效果,看你是否需要。

[postsbox post_id="135"]

发表评论 取消回复
您必须 [登录] 才能发表评论!
分享