在 WordPress 中,我們刪除文章或評論時,他們會先進(jìn)入回收站,30 天后,回收站中的內(nèi)容才會永久清刪除。30 天內(nèi),如果我們需要,我們可以隨時中回收站中恢復(fù)文章。這是一個不錯的保險機制,可以避免人為的操作失誤帶來的數(shù)據(jù)丟失。在本文中,我們來了解一下如何限制或禁用這個機制。
禁止 WordPress 自動刪除回收站中的文章
WordPress 定期刪除文章的功能是通過計劃任務(wù)實現(xiàn)的,該計劃任務(wù)每日執(zhí)行,檢查回收站中的文章,如果加入的時間超過了 30 天,掛載到計劃任務(wù)上的操作會刪除這些到期的文章。
如果我們需要永久保留 WordPress 回收站中的內(nèi)容,在合適的時候手動清理,我們可以禁用 WordPress 定期清理回收站的功能,把下面的代碼加入到主題的 functions.php 中即可。
add_action( 'init', function () {
remove_action( 'wp_scheduled_delete', 'wp_scheduled_delete' );
} );
這段代碼的功能很簡單,直接刪除了掛載到計劃任務(wù)中 Hook 上的定期刪除文章功能。刪除文章的計劃任務(wù)還是會定期執(zhí)行,但是掛載到這個計劃任務(wù)上的實際操作被我們禁用了。
修改自動刪除文章的時間
WordPress 默認(rèn)永久刪除文章的時間是在文章加入回收站中的 30 天后,根據(jù)需要,我們可以減短或延長這個時間。比如,我們需要設(shè)置自定刪除文章的期限為 7 天,直接在 wp-config.php 加入以下代碼即可。7 可以修改為我們需要的任何天數(shù)。
define('EMPTY_TRASH_DAYS', 7);
禁用回收站功能
雖然回收站是一個很棒的功能,但并不是所有人,在所有的站點中都需要,如果我們不需要回收站的功能,我們可以直接禁用回收站,把下面的代碼加入到 wp-config.php 中,回收站的功能就被禁用了。
define('EMPTY_TRASH_DAYS', 0);
禁用后,文章、評論中原來的 “移至回收站” 的功能會自動變?yōu)?“永久刪除”。

默認(rèn)情況下,WordPress 關(guān)于刪除文章,清理回收站的處理已經(jīng)可以滿足大多數(shù)用戶的需要了。即便如此,WordPress 還是留足了接口,方便有特殊需求的用戶來實現(xiàn)功能定制。這一點也是 WordPress 如此流行的原因之一。


