2017-08-08 27 views
0

数量が変更されたときにカートを自動更新します。私はこの作業コードをfunctions.phpに持っていますが、それは最初のクリックのためだけに働いています。どのように調整してクリックごとに機能するのですか?WooCommerceでのクリックによる自動更新カート

add_action('wp_footer', 'cart_update_qty_script'); 
function cart_update_qty_script() { 
    if (is_cart()) : 
    ?> 
    <script> 
     jQuery('div.woocommerce').on('click', '.quantity .button', function(){ 
      jQuery("[name='update_cart']").trigger("click"); }); 
    </script> 
    <?php 
    endif; 
} 
+0

使用だけでなく、このプラグインします。https:答えを//wordpress.org/plugins/woocommerce-ajax-cart/ –

答えて

1

以下のようにプラグインを使用できます。

https://wordpress.org/plugins/woo-update-cart-on-quantity-change/

また、このプラグインはあなたのために働いています。

https://wordpress.org/plugins/woocommerce-ajax-cart/

プラグインは、すべてのワードプレスのバージョンとwoocommerceのバージョンで動作しますので、あなたの安全側のためのプラグインを使用してください。

または

カスタムコードは、以下のように少し変更して試すことができます。

add_action('wp_footer', 'cart_update_qty_script'); 
function cart_update_qty_script() { 
    if (is_cart()) : 
     ?> 
     <script type="text/javascript"> 
      jQuery(document).on("click", "div.woocommerce .quantity .button", function(e) { 
       jQuery("[name='update_cart']").trigger("click"); 
      }); 

OR 
      jQuery("body").on("click", "div.woocommerce .quantity .button", function(e) { 
       jQuery("[name='update_cart']").trigger("click"); 
      }); 
     </script> 
     <?php 
    endif; 
} 
+0

おかげで、私は文句を言わない悪い評価ではないだけでなく、サポートプラグインを使用。 コードは2回目のクリックでのみ動作しています。その後、何も起こりません。 –

+0

@KrystianManthey私の編集した答えを確認してください。試してみてください。 – Jalpa

+0

最初のクリックで両方のバージョンの更新が行われますが、クリックはもう不可能です(数量は変更されません)。 –

1

このようにそれを試してみてください。..

add_action('wp_footer', 'cart_update_qty_script'); 
function cart_update_qty_script() { 
    if (is_cart()) : 
    ?> 
    <script> 
     jQuery('body').on('click', 'div.woocommerce .quantity .button', function(){ 
      jQuery("[name='update_cart']").trigger("click"); 
     }); 
    </script> 
    <?php 
    endif; 
} 

私はそれはあなたが身体にそれを取り付けた場合、それはかもしれない... HTMLが交換されているため、div.woocommerceのクリックイベントが存在しなくなったのです仕事...

+0

残念ながら同じ問題ですが、なぜこれが起こるのかを教えてくれてありがとうございます –

+0

私はコードを試しました。確認できるリンクがありますか? – Reigel

+0

私はステージングウェブサイト(pw-protected)を試しています。しかし、あなたはergotopia.deの問題を見ることができます。問題はありますが、2回目のクリックごとに自動更新が発生しています。機能は: add_action( 'wp_footer'、 'cart_update_qty_script'); 関数cart_update_qty_script(){ 場合(is_cart()):? > <?php endif; } –

0

私はあなたのHTML構造を知らないので、私は店頭のテーマに取り組んでいるサンプルjQueryを構築しました。

ここにサンプルコードを示します。

add_action('wp_footer', 'cart_update_qty_script'); 
function cart_update_qty_script() { 
    if (is_cart()) : 
    ?> 
    <script> 
     jQuery('div.woocommerce').on('keyup', '.quantity .qty', function(){ 
      //console.log('clicked'); 
      jQuery("[name='update_cart']").trigger("click"); }); 
    </script> 
    <?php 
    endif; 
} 
+0

多分、私たちは最新のwoocommerce、wordpressなどを持っているからです。 このコードでは何も更新されません。しかし、助けてくれてありがとう! –

+0

私はWoo 'Version 3.1.1'とWP' Version 4.8.1'でテストしました。あなたのウェブサイトのURLを共有できますか? –

+0

私はステージング・ウェブサイト(pw-protected)を試しています。しかし、あなたはergotopia.deで同様の問題を見ることができます。問題はありますが、2回目のクリックごとに自動更新が発生しています。機能は次のとおりです。add_action( 'wp_footer'、 'cart_update_qty_script'); (jQuery( "[name = 'update_cart'] ')」を使用している場合は、 ).trigger( "click");});<?php endif; } –

関連する問題