如何以编程方式执行现有的WP Cron

时间:2020-02-19 作者:Kristián Filo

我有一个插件,在激活时创建一个WP cron。它每小时运行一次。

我需要为我的客户机在仪表板的某个地方添加一个简单的按钮,这将触发这个cron。我不希望客户端从插件的界面(例如Cron manager)执行此操作,这对他来说可能太复杂了。

是否有本机WP方法或简单的方法来运行特定的定时cron?

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

为WordPress的cron注册计划事件时,第三个参数是挂钩名称:

wp_schedule_event( time(), \'hourly\', \'my_hourly_event\' );
您可以添加一个函数来在这个钩子上运行add_action():

add_action( \'my_hourly_event\', \'do_this_hourly\' );
这将导致do_this_hourly() 在计划的事件运行时运行。这是因为当计划时间发生时,您的操作被如下调用:

do_action( \'my_hourly_event\' );
导致任何东西my_hourly_event 具有add_action() 运行。所以你可以运行钩子函数,比如do_this_hourly(), 通过手动触发事件,随时手动执行do_action(), 如上所述,例如响应表单提交或AJAX请求。

或者,您可以直接运行挂钩函数:

do_this_hourly();

相关推荐

Wp-cron和执行is_admin()包含的脚本中的代码

我正在开发一个插件。其后端设置允许管理员从第三方数据提供商更新站点数据文件,或打开/关闭wp cron作业以自动完成此操作。在此(简化)代码中I assume my wp-cron job will only be run if someone logs in to the WP Dashboard? (不是我真正想要的)if (is_admin()) { include \'my_update_script.php\'; include \'settings_form_stuff