更新: EDD 3.2.0以降、edd_after_payment_actionsはedd_after_order_actionsに置き換えられました。この新しいフックは、after payment actionsと同様に動作しますが、主な違いはEDD_Paymentオブジェクトを渡す代わりに、より効率的なOrderオブジェクトを渡すことです。
注文後アクションのドキュメントを表示
Easy Digital Downloads 2.8では、「after payment actions」が導入され、開発者は購入完了時の速度やパフォーマンスに影響を与えることなく、購入完了時に処理負荷の高いアクションを追加できるようになりました。これは、after payment actionを追加する方法についてのガイドです。
はじめに
Easy Digital Downloadsは、その誕生以来、拡張性の概念を中心に構築されてきました。それが、当社のプラットフォームに250以上の公式アドオンとテーマがある理由です。時間の経過とともに、ますます多くの拡張機能が支払い完了後にアクションを実行するようになり、チェックアウトプロセスがそれほど迅速に完了しないように見える場合があります。これらのアクションのほとんどは、購入を完了するために「必須」なものではありません。管理メール、プッシュ通知、コミッションメール、その他の多くの統合などは、購入完了プロセスに影響を与えないように、わずかに遅延させることができます。バージョン2.8では、「After Payment」アクションを導入しています。この新しい「非トランザクション」フックは、以前これらのタイプの統合に使用されていたedd_complete_purchaseアクションとまったく同じように機能し、同じパラメータを含みます。したがって、新しい処理方法と統合したい開発者にとっては、使用しているフックを変更するだけで済む場合があります。
フック(edd_after_payment_actions)は、支払いが完了としてマークされた直後にWP_Cronを介してトリガーされます。WP_Cronで実行されるため、処理負荷の高いアクティビティは、サイトのユーザーの読み込み時間に影響を与えません。
after actionフックを使用しないことを選択した場合のフィルターがあります。その場合、EDDはフォールバックして完了時にアクションを実行し、遅延プロセスを回避します。
after payment actionsの主なポイント
- WP_Cron経由でトリガー
- フィルターで無効化可能
- デフォルトでは、購入後30秒後にスケジュールされますが、フィルターで変更できます。
_edd_complete_actions_runという注文メタキーが注文に保存され、アクションが実行された日時(GMT)を報告します。- アクションが実行されたことを示す注文メモが記録されます。
注意:このafter payment actionsシステムはWP_Cronに依存しているため、「ミッションクリティカル」と見なされるものには使用しないでください。これは、購入データに直接影響しないAPIや大量のデータとの高負荷な統合をオフロードする方法にすぎません。
