一、先确认任务本身有没有“开机”
在后台左侧菜单找到 极光 AI → 进入任务/计划列表页面(通常在“发文任务”或类似页面)。
- 确认任务是“启用”状态: 比如开关是“已开启”“运行中”,而不是“关闭”“暂停”。
- 确认已经保存: 修改完频率、时间等后,要点一下 保存 或 更新 按钮。
如果任务本身没有开启,再怎么检查服务器也不会执行,这一步一定先确认。
每个任务都有一个“每隔多久跑一次”的设置,比如:
- 1 分钟一次(
1m) - 10 分钟一次(
10m) - 60 分钟一次(
60m)
如果你刚刚新建任务,可以先把频率设为 1 分钟一次,方便观察是否真的有执行。

二、用自带的“自检”按钮快速看一眼环境
在极光 AI 设置页里,切换到全局设置-点击系统调试与日志面板。
里面会有一个 一键自检 或 运行自检 的按钮。
自检完成后,会弹出一张表格,每一行是一个检查项,大致包括:
- WP‑Cron 开关:是否被关掉了。
- Loopback (wp-cron.php):自己访问自己有没有报错。
- WP‑Cron 队列 (ai_post_cron):有没有排队的极光 AI 任务。
- 任务配置(总数/启用):有几个任务,启用了几个。
- debug.log 写入目录:日志能不能写进去。
- CA 配置:SSL 证书配置是否大致正常。
每一行右边会有类似 OK / WARN / FAIL 的状态提示。

三、根据自检结果,一条一条对照排查
如果这一行提示:WARN 或 FAIL,并且说明里提到 DISABLE_WP_CRON 被设置了,说明:
- 你的网站把 WordPress 自带的计划任务“关掉”了;
- 这在很多高并发站点是正常做法,但前提是你要自己在服务器上配一个系统级计划任务,定时访问
wp-cron.php。
解决方案有两种:
- 方案 A:先暂时打开 WP‑Cron(最简单,适合不会折腾服务器的用户);
- 方案 B:保持关闭 WP‑Cron,但在服务器/宝塔/Windows 里配置系统任务,定时访问
wp-cron.php或插件提供的 REST 接口。(设置方法在后面的第5条)
自检里会有一行:Loopback (wp-cron.php),它会尝试请求你自己网站的 /wp-cron.php?doing_wp_cron。
- OK:说明从 PHP 访问自己站点没问题,一般不用管;
- FAIL:说明服务器内部访问
wp-cron.php出了问题,可能是:- CDN 或安全防火墙(WAF)把这个地址拦了;
- Nginx/IIS 伪静态规则把
wp-cron.php重写错了; - 站点配置了 HTTP 认证、IP 限制等,自己访问自己也被挡掉。
如果这里是 FAIL,一般建议:
- 在 CDN / 安全狗 / 云防火墙里给
/wp-cron.php放行; - 或者干脆不要依赖 WP‑Cron,改用“外部计划任务 + REST 接口触发”(下面会讲)。
这一项会告诉你:当前是否有已经排队等待执行的极光 AI 任务。
- 显示 OK 并且提示“已排队任务: XXX” → 说明:
- 插件已经把任务安排进 WordPress 的“未来计划任务队列”里了;
- 接下来只要 WP‑Cron 能按时跑,这个任务就会慢慢执行。
- 显示 WARN 且提示“未发现已排队的 ai_post_cron 事件” → 说明:
- 要么任务本身没开启;
- 要么刚刚保存,还没有来得及注册;
- 要么系统之前的队列出过问题,需要重新激活/保存任务。
如果你刚开启任务,建议刷新前台页面或后台首页几次,等 1~2 分钟再点一次自检,看看是否出现“已排队任务”。
四、debug.log 里能看到什么?
极光 AI 在开启“调试日志”后,会优先把日志写到网站根目录的 debug.log,类似:
F:\wwwroot\www.wplogin.com\debug.log
如果根目录无权限写入,它会自动回退到 wp-content/uploads/ai-post/logs/debug.log 下面。
AI Post Debug: 使用 ai-post-tasks 作为任务源,count=1
说明:插件成功读到了 1 个任务配置。AI Post Cron: 已为任务 X 注册单次调度...
说明:任务已经被安排到 WP‑Cron 队列里了,等待系统触发。AI Post Cron: 任务 X 检测到长时间未跑,已补发一次执行...
说明:有段时间没有执行,插件帮你“补发”了一次任务,并尝试主动叫醒 WP‑Cron。AI Post Debug: 运行时已启用错误日志记录到 ...
说明:调试日志开关已经打开,后续的错误/提示都会写到指定日志文件里。
如果一点日志都没有刷新,很可能是:请求根本没运行到插件(比如 500 错误、PHP 未执行、站点层缓存住了)。
五、用“通信令牌(Cron/REST)”配外部计划任务
如果你遇到以下情况之一,强烈建议改用 REST 触发:
- 网站人少,几乎没人访问,WP‑Cron 很久才被触发一次;
- WP‑Cron 被你刻意关闭了(比如为了性能),但你又希望任务准时跑;
- CDN/防火墙对
/wp-cron.php不友好,很难调通。
在极光 AI 设置里的“系统调试与日志”面板,找到“通信令牌(Cron/REST)”区域:
-
- 点 生成/刷新 按钮,生成一个新的 token;
- 点 复制明文,把 token 复制到安全地方保存。

不同服务器/面板操作界面不一样,但大致思路相同:
- 打开宝塔面板 / Windows 计划任务 / Linux crontab 等地方;
- 新建一个“每 X 分钟执行一次”的任务;
- 让这个任务用 POST 请求 访问:
https://你的域名/index.php?rest_route=/aipost/v1/cron - 请求体(Body)里带上:
token=你复制的那串令牌。

配置好计划任务,别忘了点击确定保存。
保存后我们可以查看计划任务的日志;
在日志里面先点击手动执行1次,观察日志代码:

日志里面如果出现”ok”:true,”triggered”,就说明计划任务执行成功了;
如果出现其他异常代码,请检查计划任务里面url的访问路劲、token的参数名和参数值是否正确。
只要这个系统任务能按时跑,极光 AI 就会按你设定的任务频率去执行发文逻辑,而不再过分依赖 WP‑Cron。
六、实在排查不出来时,可以准备哪些信息给开发者
- 自检结果截图:尤其是 WP‑Cron、Loopback、WP‑Cron 队列这几行;
- 最近一段时间的
debug.log相关片段; - 你当前用的是哪种触发方式:只用 WP‑Cron,还是已经配了 REST 系统任务;
- 大概从什么时候开始出现“任务不跑”的情况,是新装就不跑,还是用了一段时间后才出问题。
把这些信息一起发给开发者或客服,比单纯一句“任务不执行”更容易快速定位问题。
真正麻烦的,往往不是插件本身,而是“请求根本没跑到插件就被挡在半路上了”。这也是为什么插件里提供了“自检”和“REST 触发”两套工具,方便你一步步排查。
