WordPressのゴミ箱機能の変更方法

WordPressで不要になった投稿はまずゴミ箱に移動させるようになっています。そしてゴミ箱の保存期間はデフォルトでは30日です。以降もゴミ箱にある記事は自動的に消去されます。

ゴミ箱にある記事の保存期間は変更できます。またゴミ箱へ移動せず、すぐに削除することも可能です。

自動的に消去される日数を変更

自動的に消去される日数を変更するには、wp-config.php ファイルに以下のように記述をします。

wp-config.php
define('EMPTY_TRASH_DAYS', 日数);

上記コードの「日数」のところを、ゴミ箱に残しておく日数にしてください。

【メモ】

EMPTY_TRASH_DAYS は、wp_functionality_constants() で定義されるWordPress定数。ここで設定されている数字が初期値。
wp_functionality_constants() – Function | Developer.WordPress.org

ゴミ箱には移動せずに削除する

ゴミ箱に移動せずに、そのまま削除したい場合は先述したコードの「日数」のところを「0」にします。

wp-config.php
define('EMPTY_TRASH_DAYS', 0);

この設定にする場合、削除する際は十分に注意して行いましょう。

このコードを記述すると、「ゴミ箱へ移動」ボタンの代わりに「完全に削除する」ボタンが表示されます。そして「完全に削除する」ボタンをクリックすると、警告メッセージは表示されずにその投稿が即削除されます。

ゴミ箱の保存期間が「1」以上の場合
ゴミ箱の保存期間が「0」場合

ゴミ箱の自動削除機能を停止

ゴミ箱にある投稿が自動的に削除されるのを無効することもできます。この場合 functions.php に以下のように記述します。

functions.php
function disable_scheduled_delete() {
  remove_action('wp_scheduled_delete', 'wp_scheduled_delete');
}
add_action('init', 'disable_scheduled_delete');

【メモ】

wp_scheduled_delete() によってゴミ箱にある投稿が削除される。 /wp-includes/default-filters.php にアクション登録されており、そのアクションを取り消すことでゴミ箱にある記事の削除を停止する。
wp_scheduled_delete() – Function | Developer.WordPress.org

このコードの動作確認をした時に define('EMPTY_TRASH_DAYS', 1); の記述をしていましたが、ゴミ箱の中に入れていた記事は1日以上経っても削除されませんでした。

こちらの設定をしておけば意図的に削除しない限り残り続けます。

ただし削除されないということは、不要な記事が溜まり続けていくことにもなります。不要なデータがたまりすぎるとサイトに負荷がかかってしまうことも。
ゴミ箱の記事を自動消去せず記事を多く書いていくのであれば、定期的にゴミ箱にある記事が不要か必要かは見直していきましょう。

カテゴリー : WordPress