我目前正在尝试调用我在同一时间内多次创建的动作挂钩。我这样做的原因是我需要在每个用户运行我在动作钩子中使用的函数,并将用户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);
另一个非常接近的尝试是我在互联网上找到的以下函数,有些人试图产生相同的结果:
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);
}
我把这个函数放在我主题的functions.php中,它可以通过创建唯一的名称来有效地分配两个不同的动作钩子。此方法的问题在于,由于某种原因,已调度的事件表示$action_name
的值挂起的操作挂钩不存在。即使我之前添加了1行:。我对此的看法是函数中add_action的范围不是全局的,因此wp_schedule_single_event
函数无法获取?
我不需要为每个用户创建的action_hook的名称相同,只是我能够从创建的动作挂钩运行函数"testing"
。我只需要使用其中一种方法来实现我的设计。谢谢。