スポンサーリンク

WordPress:データベースを汚す「自動下書き」を無効にする

この記事は約4分で読めます。

WordPress ロゴ

こんにちは、さち です。

先日、WordPress のデータベースを見ていると、やたら「自動下書き」が保存されていることに気づきました。

これらの自動下書き、一度も活用したことがないですし、正直ゴミデータが増えているだけのように感じます。

これ以上データベースに「自動下書き」が増えないように、WordPress をカスタマイズしてみます。

スポンサーリンク

「自動下書き」ができる原因

WordPress を初期設定のまま使っていると、データベース(wp_post)に「自動下書き」が大量にできます。下図の「post_status」が「auto-draft」のもの、「post_name」が「○-revision-v○」や「○-autosave-v○」となっているのものがそれです。

WordPress:データベースを汚す「自動下書き」を無効にする

このような「自動下書き」ができる原因となる WordPress の機能は、次の3つ。

  • 自動保存(執筆中の自動バックアップ)
  • リビジョン(記事のバージョン履歴)
  • ダッシュボード(クイックドラフト)

不要な自動下書きがデータベースに溜まらないようにするには、これらの機能を無効にする必要があります。

「自動保存」を無効にする

私は執筆中の記事の自動バックアップをブラウザ側で取っています。WordPress の自動保存は必要ないので無効にします。

  1. WordPress の管理画面を開き、「外観」→「テーマエディター」と進みます。
    WordPress テーマエディター
  2. テーマのための関数「functions.php」を開きます。子テーマを使うテーマの場合は、子テーマの functions.php を開きましょう。
    WordPress の functions.php
  3. functions.php に下記の内容を追記します。
    function disable_autosave() {
      wp_deregister_script('autosave');
    }
    add_action( 'wp_print_scripts', 'disable_autosave' );

これで、記事執筆中の自動保存は停止されます。

ただし、新しく記事を書き始めたときに行われる初回の自動下書きだけは避けられません。記事を保存する時はこの自動下書きに上書きされるので、同じ記事の自動下書きが無駄に増えることはありません。

「リビジョン」を無効にする

記事の再編集/更新した時にできるリビジョン(バージョン履歴)を無効にします。

  1. サーバー上にあるファイル「wp-config.php」を編集します。通常、ファイルは WordPress をインストールしたディレクトリー(フォルダー)にあります。
    WordPress の wp-config.php
  2. wp-config.php に下記の内容を追記します。ただし、追記場所は require_once(ABSPATH . 'wp-settings.php'); より前でないといけません(最後尾に追記するのはダメ)。
    define('WP_POST_REVISIONS', false);
    
    //省略
    
    /** Sets up WordPress vars and included files. */
    require_once(ABSPATH . 'wp-settings.php');

これで、リビジョン機能は停止します。

「クイックドラフト」を無効にする

「クイックドラフト」は、「ダッシュボード」ページにある機能で、アイデアや下書きを素早く書くためのものです。

「クイックドラフト」の自動下書きを無効にするには、クイックドラフトの機能自体を停止するしかありません。クイックドラフトが一切使えなくなるので、注意して下さい。

クイックドラフトの自動下書きは、ダッシュボードを開いただけで作られてしまいます(クイックドラフトに触れていなくても)。「表示オプション」でクイックドラフトを隠してもダメです。
  1. WordPress の管理画面を開き、「外観」→「テーマエディター」と進みます。
    WordPress テーマエディター
  2. テーマのための関数「functions.php」を開きます。子テーマを使うテーマの場合は、子テーマの functions.php を開きましょう。
    WordPress の functions.php
  3. functions.php に下記の内容を追記します。
    function disable_quickpress() {
    	remove_meta_box('dashboard_quick_press', 'dashboard', 'side');
    }
    add_action('wp_dashboard_setup', 'disable_quickpress');

これで、クイックドラフトの機能は停止します。ダッシュボードを開いても自動下書きが作られることはありません。

コメント

タイトルとURLをコピーしました