WordPress 2.9から、投稿記事やページを削除すると、一旦ゴミ箱(Trash)に移されるようになりました。記事一覧を見ても、あるのは"削除"では無く"ゴミ箱"と言うリンクだけです。複数人で執筆している人や、うっかりしている人には待望の機能と言えます。
しかし、記事を完全に削除するには、ゴミ箱に移動させた後、更に"ゴミ箱を空にする"ボタンを押さねばなりません。直ぐに消したい人には二度手間です。そこでゴミ箱を無効にする方法を紹介します。
この機能は、"wp-settings.php"の中で次のように定義されています。
/** * It is possible to define this in wp-config.php * @since 2.9.0 */ if ( !defined( 'EMPTY_TRASH_DAYS' ) ) define( 'EMPTY_TRASH_DAYS', 30 );
つまり、初期状態では記事がゴミ箱に30日間保管されます。即削除されるようにしたい場合は、"wp-config.php"に次の一行を加えます。定義を書き込む場所は"wp-settings.php"が読み込まれるより前です。上記wp-settings.phpは直接編集しないで下さい。WordPressの更新時に元に戻ってしまいます。
define('EMPTY_TRASH_DAYS', 0 );
この定義で保管期間を0日とする事により、ゴミ箱の文言が"完全に削除する"に変わり、記事を即座に消すことが可能となります。逆に保管期間を伸ばしたいときは値を増やしましょう。
ちなみに、ゴミ箱機能に付随して、プラグイン作者向けに次の4種類8つのフックAPIが提供されました。
* @uses do_action() on 'trash_post' before trashing * @uses do_action() on 'trashed_post' after trashing * @uses do_action() on 'untrash_post' before undeletion * @uses do_action() on 'untrashed_post' after undeletion * @uses do_action() on 'trash_post_comments' before trashing * @uses do_action() on 'trashed_post_comments' after trashing * @uses do_action() on 'untrash_post_comments' before trashing * @uses do_action() on 'untrashed_post_comments' after trashing
プラグイン作者であればAPI名で察しがつくと思いますが、詳しくは"wp-includes/post.php"を参照して下さい。