我原来有篇文章发布后,因不合时宜,被网警蜀黎劝删了,我就放到了回收站中。也不知是从哪次 WordPress 更新升级后,“所有文章”栏目下,“回收站”的链接不见了,更别说回收站中的文章了。
我记得文章是6月份删除的,年前还在的。应该是安装了“计划任务”插件 WP Crontrol 后,在执行了几次同步任务后,不知触发了什么函数被清理了。
回收站中的文章怎么不见了?
之前一直以为“回收站”中的文章,只要我不去“永久删除”,它都是在的,今天搜索了相关文章才明白,WordPress 回收站里的内容,默认会在30天之后删除。
那“所有文章”栏目下,“回收站”的链接怎么不见了呢?原来这与 WordPress 的本身设定有关,只有当有文章被“移至回收站”时,才会出现“回收站”链接。同理,当我将撰写的文章保存为草稿时,才出现“草稿”链接。
如果我们需要,可以随时在回收站中恢复文章。这是一个不错的保险机制,可以避免人为的操作失误带来的数据丢失。但一定要在30 天内,不然回收站中的内容就自动永久删除了。
如何禁止 WordPress 自动删除回收站中的文章
WordPress 定期删除文章的功能是通过计划任务实现的,该计划任务每日执行,检查回收站中的文章,如果加入的时间超过了 30 天,挂载到计划任务上的操作会删除这些到期的文章。
如果我们需要永久保留 WordPress 回收站中的内容,在合适的时候手动清理,我们可以禁用 WordPress 定期清理回收站的功能,把下面的代码加入到主题的 functions.php 中即可。
add_action( 'init', function () {
remove_action( 'wp_scheduled_delete', 'wp_scheduled_delete' );
} );
这段代码的功能很简单,直接删除了挂载到计划任务中 Hook 上的定期删除文章功能。删除文章的计划任务还是会定期执行,但是挂载到这个计划任务上的实际操作被我们禁用了。
如何自定义回收站删除时间?
多数人没注意到的是,文件在回收站中保留的时间是可以修改的。我们把下面的代码加入到 wp-config.php 里,就可以自定义内容存放的时间。
define( ‘EMPTY_TRASH_DAYS’, num );
num=天数,默认的是30天,你可以根据自己的爱好,设置相应的天数。这样到期之后,内容才会被自动删除。
如何禁用回收站功能?
虽然回收站是一个很棒的功能,但并不是所有人,在所有的站点中都需要,有些人还是很喜欢立刻删除内容,不想在回收站中再操作一次。
如果我们不需要回收站的功能,我们可以直接禁用回收站,把下面的代码加入到 wp-config.php 中,回收站的功能就被禁用了。
define('EMPTY_TRASH_DAYS', 0);
禁用后,文章、评论中原来的 “移至回收站” 的功能会自动变为 “永久删除”,不会再放入回收站,而是直接删除。
至于“回收站”中已经被清理删除的文章如何恢复,我在网上找了许久,都没有相关的介绍,如果有朋友知道方法,请不吝赐教。
历史上的今天:
- 2023: 3月10日,女法官国际日 (0)
这个有用,收藏一下,以后可能用得着。
@大峰 可惜我的那篇文章找不回来了。
不想让前台看到的文章可以放草稿或者文章可见性设置为私密。
@威言威语 对呀,放在草稿不是更好,我怎么没想到呢,谢谢大佬的指点。
跟chatgpt求证了一下,你的方法非常精准~
@卫博生 哈哈,我用的也是网上常见的方法。
论写完文章随手点一下草稿的重要,我之前有一次写文好长一篇文章,断网离线我都不知道,然后再回来刷新下文章没了。以后写一点就点一下草稿😂,确认下有没有登录掉线,自动存档。
@Jeffer.Z 这是个好习惯。WordPress 原本有自动保存功能,我们还嫌他占空间,千方百计打它给关闭了。