使用Linux cron触发自定义WordPress插件

时间:2017-06-29 作者:Robbiegod

我读了很多关于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连接到插件。谢谢

1 个回复
最合适的回答,由SO网友:Robbiegod 整理而成

我提出的解决方案如下:

安装了WP-CLI并使用eval file命令

/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(“打算从命令行运行”);}

结束

相关推荐

Plugins_url()错误地返回wp-Include目录

我怀疑它有问题plugins_url() 但我看到的是一些奇怪的行为。我在激活的插件中有以下内容function include_masonry() { wp_enqueue_script( \'masonry\', plugins_url(\'js/masonry.min.js\', __FILE__), array(), \'3.2.1\', true ); wp_enqueue_script( \'my_init_script\', plugins_url(\'js/my_i