5

現在、作成したアクション フックを同時に複数回呼び出そうとしています。これを行っている理由は、アクション フックで使用している関数を、関数の引数として渡されるユーザー ID を使用してすべてのユーザーに対して実行する必要があるためです。また、これを事前にスケジュールする必要があるため、アクションフックを使用して、この関数を事前にすべてのユーザーに対して実行するようにスケジュールしています。この関数を呼び出す必要がある頻度もユーザーに依存するため、スケジュールを設定して実行することはできません。

要約すると、次のようになります。

同じ名前で引数が異なるアクション フックをスケジュールする必要があります。WordPress ガイドによるとwp_schedule_single_event、 $arg が異なる限り、これを行うことができるはずです。ただし、$arg の値をいくつ入れても、最初に作成されたものだけが受け入れられ、残りは無視されます。

これは、私が設計したボタン内にあるコードです。2 つのダミー配列を使用して、アクション フックの 2 つの異なるインスタンスを同時に実行しようとしていますが、引数が異なります (ガイドに従って動作するはずですが、動作しません)。

$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 内に配置すると、一意の名前を作成することで、2 つの異なるアクション フックを効果的に割り当てることができます。このメソッドの問題は、何らかの理由で、スケジュールされたイベントが の値によるアクション フックが$action_name存在しないことを示していることです。1行前に追加しましたが:. これについての私の考えは、関数内の add_action のスコープはグローバルではないため、wp_schedule_single_event関数によって取得できないということですか?

作成した action_hook の名前をすべてのユーザーで同じにする必要はありません"testing"。作成したアクション フックから関数を実行できるというだけです。デザインを実装するには、これらのメソッドの 1 つを機能させる必要があります。ありがとうございました。

4

0 に答える 0