WordPressで投稿を削除する場合、デフォルトの動作としては、投稿がいったんゴミ箱に移動されて一定期間の後に自動削除されます。
この設定は変更することができ、次のようなカスタマイズが可能です。
- ゴミ箱内での保存期間を変更する
- ゴミ箱内の自動削除を停止する
そこで、ここではWordPressで投稿を削除するときの動作をカスタマイズする方法を紹介します。
目次
動作環境
この記事は、以下の環境で実行した結果を基にしています。他のバージョンでは、動作結果が異なる場合があることをご了承ください。
ソフトウェア(プラグイン) | バージョン |
---|---|
WordPress | 5.3.2 |
ゴミ箱内での保存期間を変更する
ゴミ箱に移動された投稿は、デフォルトで30日間は保存されるようになっていますが「wp-config.php」に次の内容を追記することで、任意の日数に変更することができます。
追記場所は「編集が必要なのはここまでです ! WordPress でブログをお楽しみください。」行の上がおススメです。
define('EMPTY_TRASH_DAYS', 7);
/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */
たとえば、上の設定では、ゴミ箱内の投稿は7日間保存されるようになります。
また、保存期間を「0」に設定すれば、ゴミ箱を経由せずにすぐに完全削除することもできます。
define('EMPTY_TRASH_DAYS', 0);
/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */
なお、保存期間を「0」に設定をすると、投稿の編集画面などで「ゴミ箱に移動」が「完全に削除する」に変更されます。

デフォルトの画面

保存期間を「0」に設定したときの画面
ゴミ箱内の自動削除を停止する
ゴミ箱に移動した投稿は、デフォルトで30日経過後に自動削除されますが「functions.php」の最下行に次の内容を追記することで、意図的に削除しない限り自動削除されないようにすることができます。
// ゴミ箱の自動削除を停止
function disable_scheduled_delete() {
remove_action( 'wp_scheduled_delete', 'wp_scheduled_delete' );
}
add_action( 'init', 'disable_scheduled_delete' );
上の設定で、ごみ箱内の投稿は、意図的に削除しない限り残り続けます。
あとがき
ゴミ箱内の記事が一定期間後(30日)に自動削除される仕様は、意外と知らない方もいるのではないでしょうか。
いつかリライトしようと投稿をゴミ箱に保存していたら、いつの間にか削除されていました、なんてことにならないようにしましょうね。