WordPressで記事などを削除する際に利用するゴミ箱の設定を変更する方法で、デフォルトのゴミ箱内での保存期間を変更したり、自動的にゴミ箱を空にする機能を停止させたりしてみます。

ゴミ箱内での保存期間を変更する

WordPressは記事を削除してゴミ箱に移動したとしてもすぐに完全に削除されず、意図的に削除しなければゴミ箱内で数日間(デフォルトで30日間)保存されるようになっています。
このゴミ箱内での保存期間を変更したいという場合は、wp-config.phpへ下記のように記述することで任意の日数に変更することができます。

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

上記サンプルコードの7となっている部分が日数を指定している部分になるので、これをそのまま使用した場合は「削除した記事がゴミ箱内で7日間保存される」という形に変更することができます。

ゴミ箱に移動せずにすぐに完全削除する

WordPressで記事を完全に削除したい場合、デフォルトだと「ゴミ箱へ移動」を選択して該当の記事をゴミ箱に移動させ、その後ゴミ箱内で「完全に削除する」を選択することで削除されるという流れですが、これをゴミ箱を経由せずにすぐに完全削除するという方法です。
実装には同じくwp-config.phpに記述し、下記のように先ほど日数を指定していた部分に0を指定します。

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

上記記述後、例えば管理画面の投稿一覧を表示して「ゴミ箱へ移動」を選択しようとすると、テキストが「完全に削除する」に変更されているのを確認でき、選択するとゴミ箱を経由せずに完全に削除されるのを確認できます。

ゴミ箱内での自動削除を停止する

ゴミ箱に移動した記事が自動で削除されてしまうのを停止し、意図的に削除しない限りは残るようにしたいときに使える方法です。
こちらは上で紹介してきたようにwp-config.phpではなくfunctions.phpに記述します。

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