我读了很多关于WP-Cron的书,我决定不使用WP-Cron。我想在我的Web主机(Media Temple DV服务器)上安装一个linux cron。
我制作了一个wordpress插件,它可以检查一些帖子中的变量,如果所有内容都检查出来,它会向提交它的用户发送一封电子邮件。我希望每隔几分钟运行一次,因为我希望在短时间内完成大量的提交,而且我只希望一次处理10或20个小批量的提交。
我现在拥有的是一个定制的预定事件,它使用wp cron每15分钟触发一次,但我更希望是一个Linux cron,它运行、点击插件url,并每2分钟执行一次。
现在,linux cron每2分钟运行一次,这很好(我将其设置为当cron在cron中运行时向我发送电子邮件),但由于我的主代码以15分钟的间隔打包到wp cron,因此代码只每15分钟运行一次。
因此,我想从插件中完全删除wpcron部分,并在linux cron运行时使用代码触发器。
有没有人想过如何设置linux cron来运行wordpress插件?一个像Hello World插件这样的非常基本的例子就可以了。我只是需要一些帮助,弄清楚如何将linux cron连接到插件。谢谢
最合适的回答,由SO网友:Robbiegod 整理而成
我提出的解决方案如下:
安装了WP-CLI并使用eval file命令将我的wordpress插件转换为独立脚本在独立脚本中,我启动了wordpress,因此不必修改大部分内容。我刚刚删除了激活挂钩和其他wordpress插件特定代码我最后的cron行是这样的:
/usr/local/bin/wp--path=“/var/www/vhosts/path/to/site/”评估文件/var/www/vhosts/path/to/site/and/file/location/standalone cron发送电子邮件。php
出于安全考虑,我已将此添加到脚本顶部,以便外部入侵者无法运行脚本。只有WP-CLI可以运行脚本,否则将从命令行运行的消息返回到浏览器。
if(php\\u sapi\\u name()!==\'cli“{die(“打算从命令行运行”);}