5

我目前正在尝试调用我在同一时间内多次创建的动作挂钩。我这样做的原因是我在动作挂钩中使用的函数需要为每个用户运行,用户 ID 作为函数的参数传入。我还需要提前安排这个,因此我使用动作挂钩来安排这个功能提前为每个用户运行。需要调用此函数的速率也取决于用户,因此我无法设置运行它的时间表。

所以总结一下:

我需要安排一个名称相同但参数不同的动作挂钩。根据 WordPress 指南,wp_schedule_single_event只要 $arg 不同,就应该能够做到这一点。但是,无论我输入多少不同的 $arg 值,只有创建的第一个被接受,其余的被忽略。

这是我设计的按钮中的代码。我正在使用两个虚拟数组来尝试同时运行 2 个不同的 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"从创建的操作挂钩中运行该函数即可。我只需要使用其中一种方法来实现我的设计。谢谢你。

4

0 回答 0