在Wordpress插件中运行计划的任务

时间:2020-03-05 18:50:43  来源:igfitidea点击:

我正在尝试编写一个Wordpress插件,该插件会在一天的特定时间自动发布博客文章。例如,阅读一堆RSS feed并发布所有新条目的每日摘要。

有些插件的功能类似于我想要的,但是其中许多插件都依赖cron作业来进行自动调度。如果需要,我会这样做,但我希望有更好的方法。让典型的Wordpress用户添加Cron作业并不完全友好。

有没有很好的计划从Wordpress插件运行的任务的方法?它不必在正确的时间运行。

解决方案

回答

vBulletin使用一种伪Cron系统,该系统基本上检查每个页面访问的时间表,并触发任何到期的进程。

自从我与Wordpress合作以来已经有一段时间了,但是我认为如果在每个页面视图上运行,类似的东西应该可以工作。

回答

我认为最好的方法是使用伪cron。我已经看过几次了,尽管时间安排不准确,但它应该做我们需要做的事情。由于在Wordpress中,总是基于.htaccess中的设置首先访问index.php,因此请创建一个名为pseudo-cron.php的文件,将其转储到根目录中,然后从索引中对其进行一次请求。每当有人访问该站点时,它将运行,我们可以使用它来启动脚本,并根据一天中的时间以及上一个摘要的运行时间检查是否需要生成另一个每日摘要。

回答

http://codex.wordpress.org/Function_Reference/wp_schedule_event

回答

伪cron很好,但是它有两个问题是

1,需要有人"点击"博客才能执行。小批量站点可能具有宽范围的执行时间,因此在时间上不要具体两个。

2,处理发生在页面加载之前。因此,如果发生执行时间,并且我们有很多" cron"条目,则可能给访问者带来次标准的体验,从而使访问者感到不安。

只是我的2美分:-)