🚀 版本上新 比比工房Wordrpess主题1.5.0发布。点击查看更新介绍 →

自动任务使用问题

小鱼哥 发表于 11-07 浏览 135 字数 855 阅读时长 5分钟

比比主题中应用了一些自动任务相关操作,例如定时清除数据表中冗余的消息数据,定时更新用户的购买数据,每日定时生成新的星星等,都涉及到 wordpress的定时自动任务,有的需要每日更新,有的 3 个月、半年更新。

这里就涉及到一个概念:WP-Cron(自动任务)

但是,WordPress 默认 cron 的问题,它不是真正的系统 cron,它依赖有人访问网站才会触发。

例如,我们的星星每日凌晨自动下发 500 条新的数据,如果我们的网站在 23:00~23:05 或 00:00~00:05 没人访问,星星任务就不会执行!

所以,为了更加安全和保险,我们可以设置系统 cron而不依赖访客触发,甚至可以在 wp-config中禁用WordPress 默认 cron。

这里主要讲一下宝塔面板如果操作使用系统任务。

在宝塔面板的计划任务中新建一个【添加计划任务】

项目
任务类型访问 URL
任务名称Trigger WP-Cron(随便起名)
执行周期N 分钟 → 填 5(即每 5 分钟执行一次)
URL 地址https://你的域名.com/wp-cron.php?doing_wp_cron

📌 示例:
如果你的网站是 https://example.com,就填:
https://example.com/wp-cron.php?doing_wp_cron

保存后,服务器会每 5 分钟自动访问一次 wp-cron.php,从而可靠地驱动所有 WordPress 定时任务。

禁用 WordPress 默认 cron(推荐)

为了防止访客意外触发 cron 浪费资源,建议在 wp-config.php 文件顶部(在 <?php 下方)添加一行:

define DISABLE_WP_CRON true

这不会影响你任何已注册的任务,因为现在是由宝塔的计划任务来触发,反而更高效稳定。

验证是否生效

你可以通过安装 WP Crontrol 插件查看各任务的下次执行时间,确认 star_generate_daily 是否安排在今天 23:00。也可以在函数中加入 error_log 日志,次日检查 debug.log 或数据库是否有新数据生成。

喜欢这篇内容吗?