Sch*_*den 5 wordpress events hook action
我目前正在尝试调用同一时间多次创建的动作挂钩。我这样做的原因是,我需要为每个用户运行在动作挂钩中使用的函数,并将用户ID作为函数的参数传入。我还需要提前安排此时间,因此为什么我要使用动作挂钩来安排此功能提前为每个用户运行。此函数需要被调用的速率也取决于用户,因此我无法制定时间表来运行它。
所以总结一下:
我需要安排一个具有相同名称但参数不同的动作挂钩。根据WordPress指南,wp_schedule_single_event只要$ arg不同,就应该能够执行此操作。但是,无论我输入了多少个不同的$ arg值,都只会接受第一个创建的值,其余的将被忽略。
这是我设计的按钮中的代码。我正在使用两个虚拟数组来尝试同时运行两个不同的Action钩子实例,但是它们具有不同的参数(应根据指南运行,但不能运行)。
$action_name = 'Hum'.'8';
$action_name2 = 'Hum'.'4';
$event_array = array('8',$action_name);
$event_array2 = array('4',$action_name2);
wp_schedule_single_event($timed4, 'Hope', $event_array);
wp_schedule_single_event($timed4, 'Hope', $event_array2);
Run Code Online (Sandbox Code Playgroud)
另一个非常接近的尝试是我在网上发现有人试图产生相同结果的以下功能:
function uni($ID,$time) {
//This should be able to create a unique action name.
$action_name = 'Hum'.' '.$ID;
$event_array = array($ID,$action_name);
add_action($action_name,'testing');
wp_schedule_single_event($time, $action_name, $event_array);
}
Run Code Online (Sandbox Code Playgroud)
我将此函数放在主题的functions.php中,它可以通过创建唯一的名称来有效地分配两个不同的动作挂钩。此方法的问题在于,由于某种原因,预定事件$action_name不存在按的值表示动作挂钩。即使我在1行之前添加了它:我对此的想法是该函数内add_action的范围不是全局的,因此无法通过该wp_schedule_single_event函数获得?
我不需要为每个用户创建的action_hook的名称都相同,只是我可以"testing"从创建的action挂钩中运行函数。我只需要使用这些方法中的一种即可实现我的设计。谢谢。