Ich versuche derzeit, einen Aktionshaken aufzurufen, den ich mehrmals innerhalb derselben Zeit erstellt habe. Der Grund dafür ist, dass die Funktion, die ich im Action-Hook verwende, für jeden Benutzer ausgeführt werden muss, wobei die Benutzer-ID als Argument für die Funktion übergeben wird. Ich muss dies auch im Voraus planen, weshalb ich Aktionshaken verwende, um diese Funktion so zu planen, dass sie für jeden Benutzer im Voraus ausgeführt wird. Die Rate, mit der diese Funktion aufgerufen werden muss, hängt auch vom Benutzer ab, sodass ich keinen festgelegten Zeitplan für die Ausführung erstellen kann.
Also um die Dinge zusammenzufassen:
Ich muss einen Aktionshaken mit demselben Namen, aber unterschiedlichen Argumenten planen. Laut dem WordPress-Leitfaden wp_schedule_single_event
sollte dazu in der Lage sein, solange das $arg anders ist. Aber egal, wie viele verschiedene $arg-Werte ich einwerfe, nur der erste, der erstellt wird, wird akzeptiert und der Rest wird ignoriert.
Hier ist der Code, den ich in einer von mir entworfenen Schaltfläche habe. Ich verwende zwei Dummy-Arrays, um zu versuchen, zwei verschiedene Instanzen des Action-Hooks gleichzeitig auszuführen, jedoch mit unterschiedlichen Argumenten (was laut Anleitung funktionieren sollte, aber nicht).
$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);
Der andere Versuch, der wirklich nahe kam, war die folgende Funktion, die ich im Internet von jemandem gefunden habe, der versucht hat, dasselbe Ergebnis zu erzielen:
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);
}
Ich habe diese Funktion in die functions.php meines Themes eingefügt und sie kann effektiv zwei verschiedene Action-Hooks zuweisen, indem sie eindeutige Namen erstellt. Das Problem bei dieser Methode besteht darin, dass das geplante Ereignis aus irgendeinem Grund den Aktions-Hook mit dem Wert von angibt $action_name
ist nicht vorhanden. Obwohl ich es 1 Zeile vorher hinzugefügt habe:. Meine Gedanken dazu sind, dass der Geltungsbereich der add_action innerhalb der Funktion nicht global ist und daher nicht von der abgerufen werden kann wp_schedule_single_event
Funktion?
Ich brauche nicht, dass die Namen des erstellten action_hook für jeden Benutzer gleich sind, nur dass ich die Funktion ausführen kann "testing"
aus den erstellten Action-Hooks. Ich muss nur eine dieser Methoden zum Laufen bringen, um mein Design zu implementieren. Vielen Dank.