2017-01-17 15 views
0

私はカートを1アイテムに制限したいと思います。Woocommerce - カートに1つのアイテムのみを入れることができます

ユーザーがカートに0個のアイテムを持っている場合、そのアイテムをカートに追加します。

ユーザーがカートに1つのアイテムを持っている場合、そのアイテムは追加されず、「」のテキストが表示されます。カート内の1アイテムのみが許可されます。

+0

既に何かを試みたことがある場合は、いくつかのコードを投稿してください。 WooCommerceはさまざまなフックを提供しており、アクションをブロックできる 'pre_add_to_cart'のようなものがあると推測します。もう1つの選択肢は、GravityFormsのような単純なものをプロダクトセレクタとともに使用することです。 – ojrask

+0

1つの商品は1つの商品または1つの商品を意味しますか?言い換えれば、私は複数の異なる製品を持つことができますか? – RST

+0

@bader私のコードをチェックしましたか? – purvik7373

答えて

4
/** 
* When an item is added to the cart, remove other products 
*/ 
function custom_maybe_empty_cart($valid, $product_id, $quantity) { 

    if(! empty (WC()->cart->get_cart()) && $valid){ 
     WC()->cart->empty_cart(); 
     wc_add_notice('Only allowed 1 item in cart, please remove previous item.', 'error'); 
    } 

    return $valid; 

} 
add_filter('woocommerce_add_to_cart_validation', 'custom_maybe_empty_cart', 10, 3); 

あなたの現在のテーマfunctions.phpに上記のコードを追加してくださいますか?それがあなたに役立つことを願っています。

+0

返信ありがとうございました カートをクリアして新しいアイテムを追加するのではなく、前のアイテムをそのまま残しておき、新しいカートをカートに追加しないようにエラーメッセージ 'カートがいっぱいです' –

+0

完全な 'empty_cart()'コマンドラインを '$ valid = false;'に置き換えてください – RST

+0

これを行うプラグインに関する提案はありますか? –

関連する問題