私は私のWooCommerceチェックアウトにreCAPATCHAを組み込んでいます。 capatchaを検証するためにwoocommerce_checkout_process
を使っているので、それはかなり簡単なプロセスです。しかし、私は1つの問題に遭遇しました。
カートエラーが発生した場合は、grecaptcha.reset();
JavaScript関数を使用してreCAPATCHAをリセットできるようにしたいです。 WooCommerceのカートエラー時にJavaScriptコマンドを実行する方法がわかりません。任意のヒント?
ありがとうございます。
カートエラー時にJavaScriptをインジェクトする方法を理解することができませんでした。しかし、私は回避策を使用しています - WooCommerceのチェックアウト時にエラーメッセージを探してgrecaptcha.reset();
を呼び出すsetInterval
Ajaxのチェックアウト検証のため、私もまったく同じニーズを抱えていました。
Woocommerceには、フックできるカスタムJavaScriptイベントがいくつかあります。具体的なケースでは、Ajax呼び出しが失敗したときにトリガーされるcheckout_error
にフックする必要があります。
そこで、私は自分のjavascriptファイルに次のコードを追加しました。woocommerce_checkout_process
にフックされたPHPカスタム検証の他に。
jQuery(document).ready(function($) {
$( document.body ).on( 'checkout_error', function() {
grecaptcha.reset();
});
});
それが役に立てば幸い。