web-dev-qa-db-ja.com

WooCommerceチェックアウトでJavaScript機能を実行するにはどうすればいいですか?

私は私のWooCommerceチェックアウトにreCAPATCHAを組み込んでいます。 capatchaを検証するためにwoocommerce_checkout_processを使っているので、それはかなり簡単なプロセスです。しかし、私は1つの問題に遭遇しました。

カートエラーが発生した場合は、grecaptcha.reset(); JavaScript関数を使用してreCAPATCHAをリセットできるようにしたいです。 WooCommerceのカートエラー時にJavaScriptコマンドを実行する方法がわかりません。任意のヒント?

ありがとうございます。

1
user4951834

カートエラー時にJavaScriptをインジェクトする方法を理解することができませんでした。しかし、私は回避策を使用しています - WooCommerceのチェックアウト時にエラーメッセージを探してgrecaptcha.reset();を呼び出すsetInterval

1
user4951834

Ajaxのチェックアウト検証のため、私もまったく同じニーズを抱えていました。

Woocommerceには、フックできるカスタムJavaScriptイベントがいくつかあります。具体的なケースでは、Ajax呼び出しが失敗したときにトリガーされるcheckout_errorにフックする必要があります。

そこで、私は自分のjavascriptファイルに次のコードを追加しました。woocommerce_checkout_processにフックされたPHPカスタム検証の他に。

jQuery(document).ready(function($) {
    $( document.body ).on( 'checkout_error', function() {
        grecaptcha.reset();
    });
});

それが役に立てば幸い。

3
Sgaddo