是否可以根据特定操作动态设置新的wp\\u cron作业?
我有一个表单提交过程(我使用重力表单,所以已经在它们的几个挂钩上设置了几个函数),当用户完成并提交表单时,该过程会创建一个特定帖子类型的帖子。
我想做的是在提交时设置一个cron作业。每次表单提交都将设置一个新的cron事件(不要担心,它们会在一定时间后被清除,通常在48小时内)。
我的理解是当你使用wp_schedule_event()
您基本上是在创建一个新的动作挂钩,然后使用自定义函数将其挂钩。所以本质上,我需要动态地创建一个新的钩子(每个钩子都需要唯一),然后为每个钩子创建一个自定义函数(同样,唯一)。
i、 e.类似于
function lmk_alter_method_name( $entry, $form )
{
//.... some code (which sets up a $post object) ...
wp_update_post( $post );
//Call some dynamic wp_cron -related thing here
lmk_set_up_cron( $post->ID );
}
add_action( \'gform_after_submission\', \'lmk_alter_method_name\', 10, 2 );
function lmk_set_up_cron( $post_id )
{
if( !wp_next_scheduled( \'lmk_cron_\' . $post_id ) )
wp_schedule_event( time() + 3600, \'hourly\', \'lmk_cron_\' . $post_id, $post_id );
}
这里的想法是,它将创建一个名为lmk\\u cron\\u 123的钩子,但接下来如何动态地实际钩住它。我相信有一种更简单的方法,但目前我还不太清楚。有什么建议吗?