因服务器性能不足,WordPress在清空回收站大量文章时出现502的解决办法

因服务器性能不足,Wordpress在清空回收站大量文章时出现502的解决办法

前言

前面我们写了一篇《WordPress 从删除文章后(清空回收站)保存被删除文章的链接到txt》。

这个这个方法实用确在后面的回收站删除步骤出现了新的问题。

如果回收站里面的文章数据少,倒还可以手动清空回收站,但我的数据太多,又10万左右的文章都放在回收站了,这样我在清空回收站的时候,服务器性能不足,不能同时删除太多的文章,导致502。

我又找到下面的方法来解决这个问题。

教程

在你的主题function.php中放入以下代码。

 
  1. // 分批删除回收站文章(https://www.zz2zz.com/331243.html)
  2. add_action('init', 'batch_delete_trashed_posts');
  3. function batch_delete_trashed_posts() {
  4. // 仅管理员且带有参数时执行
  5. if (!current_user_can('administrator') || !isset($_GET['do_batch_cleanup'])) return;
  6. $batch_size = 100; // 更保守的批次大小
  7. $trashed_posts = get_posts([
  8. 'post_status' => 'trash',
  9. 'posts_per_page' => $batch_size,
  10. 'fields' => 'ids',
  11. ]);
  12. foreach ($trashed_posts as $post_id) {
  13. wp_delete_post($post_id, true); // 触发钩子自动记录
  14. }
  15. // 自动重定向直到清空
  16. if (!empty($trashed_posts)) {
  17. wp_redirect(add_query_arg('do_batch_cleanup', '1'));
  18. exit;
  19. } else {
  20. // 清空后删除操作参数
  21. wp_redirect(remove_query_arg('do_batch_cleanup'));
  22. exit;
  23. }
  24. }

执行

在浏览器 输入 https://www.你的域名.com/?do_batch_cleanup=1

这样你可以完全不用管理,让他自己在慢慢删除。并且不会出现502错误导致运行中断。

本文由2号站长网,五车二原创,转载请注明出处:https://www.zz2zz.com/331243.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值