2017-12-22 42 views
0

プラスマイナス数量ボタンにカートに追加ボタンを追加しました。 plusはAjaxでうまく動作していますが、add_to_cartボタンもうまくいきます。しかし、問題は私がcart_item_keyと同時にajax add_to_cartを必要とするので、ユーザはカートから製品の量を差し引くことができる。商品がWooCommerceでAjax経由でカートに追加されたときにカートアイテムのキーを取得

私がページをリフレッシュすると、マイナスボタンも既にカートに追加された商品のために機能しますが、ページを更新したくありません。

私はこのようなものを試しましたが、動作しませんでした。

add_filter('woocommerce_add_to_cart_fragments', 'custom_function'); 
function custom_function($fragments){ 
    global $woocommerce; 
    ob_start(); ?> 
    <a class="cart-contents" href="<?php echo WC()->cart->get_cart_url(); ?>" title="<?php _e('View your shopping cart'); ?>"> 
     <?php foreach ($woocommerce->cart->cart_contents as $cart_item_key => $cart_item) { 
      echo $cart_item_key; 
     } ?> 
    </a> 
    <?php $fragments['a.cart-contents'] = ob_get_clean(); 
    return $fragments; 
} 

いずれかが役に立ちましたら教えてください。

ありがとう

+0

私はちょうどこのような何かをしようとしたが、 ADD_FILTER( 'woocommerce_add_to_cart_fragments'、 'custom_function')を動作していません。 function custom_function($ fragments){ \t グローバル$ woocommerce; ob_start(); ?> cart->cart_contents as $cart_item_key => $cart_item) { \t \t \t echo $cart_item_key; \t \t \t } ?> <?php $フラグメント['a.cart-contents'] = ob_get_clean(); return $ fragments; } – jyoti

+0

実際に私はカートに追加するプラスマイナスボタンを追加しました、今問題はプラスajaxで作業していますが、マイナス同時に働かない、私はマイナス作業のためにページをリロードする必要があります。私のポイントを得ていますか? 当時はajaxで商品アイテムのキーを取得したいので、同じ時刻にマイナスの商品を入れることができます カテゴリページ、商品詳細ページ、すべての場所にカートに追加してプラスマイナスボタンを追加しました。 現在追加されている製品のキーを取得するために問題があるだけです アヤックスで3つのボタン(addtocart、plus、minus)をすべて動作させる必要があります – jyoti

+0

**アップデートしてください**少し** "編集" **質問タグの下のテキストボタン)*、**あなたの時間を費やして**それを明確にし、**すべての関連コード**を追加すると、誰も本当にあなたを助けることができないでしょう。 – LoicTheAztec

答えて

0

このようにしますか?

function woocommerce_header_add_to_cart_fragment($fragments) { 
    global $woocommerce; 
    $arr = []; 
    foreach ($woocommerce->cart->cart_contents as $cart_item_key => $cart_item) { 
     $arr[$cart_item_key] = $cart_item['product_id']; 
    } 

    ob_start(); 

    get_template_part('template-parts/fooooo'); 

    $fragments['#header-cart-data'] = ob_get_clean(); 
    $fragments['#updated_ajax_cart'] = $arr; 

    return $fragments; 
} 
+0

ありがとう、私はjsで私の問題を解決しました。 – jyoti

関連する問題