您的位置 首页 外贸建站

为什么我的WordPress定时发布文章老是放鸽子?

很多朋友肯定都有这个疑问:

明明设置好了的定时发布文章,结果等第二天登录网站后台一看,文章还是在草稿箱里。

这里就涉及到WordPress的计划任务运行逻辑。

WordPress 的 WP-Cron 是一个模拟的定时任务系统,它的运行逻辑和传统的服务器级别 cron 不同。以下是 WP-Cron 的核心运行逻辑和关键点:

WP-Cron 的运行逻辑

触发机制:

WP-Cron 并不是由操作系统定时触发,而是在有用户访问网站时触发。

每次有人访问 WordPress 网站时,wp-cron.php 会被检查是否需要执行任务。

具体流程:

用户访问 WordPress 页面时,wp-includes/load.php 会检测是否需要加载 WP-Cron。

如果满足触发条件,WordPress 会通过 HTTP 请求(loopback 请求)异步执行 wp-cron.php,不会影响页面加载速度。

WP-Cron 的常见问题

依赖用户访问:

如果网站访问量低,可能不会及时触发任务。

在高流量网站中,WP-Cron 可能被频繁触发,增加服务器负担。

任务延迟:

如果没有用户访问,任务会延迟到下一次用户访问时执行。

TL;DR

看到这里,你大概就明白为什么WordPress老是放鸽子了。

因为网站访问量过低,没人访问就没法激活计划任务,所以定时发布也就被鸽了。

推荐的解决方案:

放弃WordPress自带的计划任务功能,改用服务器级别的计划任务,更靠谱。

停用WordPress自带的wp-cron功能,可以修改wp-config.php文件,推荐使用缓存插件内置的功能,比如我用的FlyingPress,就可以禁用这个功能。

为什么我的WordPress定时发布文章老是放鸽子?

然后在服务器端开启计划任务,这里以cloudways和hostinger为例

cloudways:

为什么我的WordPress定时发布文章老是放鸽子?

为什么我的WordPress定时发布文章老是放鸽子?

为什么我的WordPress定时发布文章老是放鸽子?

比如我要让这个计划任务每5分钟执行一次,那就选择every 5 minutes,然后command这里,填写wp-cron.php,然后点击submit即可。

如果是hostinger主机,操作类似,但是输入的命令要稍微麻烦一点,需要把整个路径都带上,其他的和cloudways差不多。选完了保存即可。

为什么我的WordPress定时发布文章老是放鸽子?

以上,希望对您有所帮助。

如果这篇文章对你有用,也欢迎转发给有需要的朋友。

免责声明:本站不对文章内容负责,仅供读者参考,版权归原作者所有。如有影响到您的合法权益(内容、图片等),请联系本站删除。

相关阅读