2016-10-19 9 views
0

私はWoocommerceの製品バリエーションについて質問があります。私は3つのパラメータ/バリアントを持つ可変製品を持っています。 スペシャルバリアントは、第1または第2の変種がの場合にのみ表示されるようにする必要があります。顧客が両方のバリエーションを購入すると、スペシャルは非表示にする必要があります。Woocommerce - 在庫変動の商品

VARIANT 1 - 1x in stock 
VARIANT 2 - 1x in stock 
VARIANT SPECIAL - in stock only if V1 or V2 is in stock 

カスタマー買いV1:

VARIANT 1 - HIDE (out of stock) 
VARIANT 2 - 1x in stock 
VARIANT SPECIAL - in stock only if V1 or V2 is in stock 

別の顧客の購入V2:

VARIANT 1 - HIDE (out of stock) 
VARIANT 2 - HIDE (out of stock) 
VARIANT SPECIAL - HIDE (both variants is out of stock) 

IMAGE OF VARIANTS

SPECIALバリアントは、例えば目に見える唯一のことはできません

私はよく説明したのか分かりません。私の英語はすみません。

これにはどのような解決策がありますか?フック、スニペット、またはプラグイン?

私は何かアドバイス、ヤコブにはうれしいでしょう。

答えて

0

各バリエーションには、is_in_stockの機能とifの機能が必要です。 これは私の例です。

 if ($product_stock1=$variation_product->is_in_stock()) 
     { 
     echo "Variacion 1 en Stock"; 
     } 

     if ($product_stock2=$variation_product2->is_in_stock()) 
     { 
     echo "Variacion 2 en Stock"; 
     } 
     if (($product_stock1)||($product_stock2)) 
     { 
     echo "Variacion 3 Visible"; 
     } 

コードはテストされており、機能しています。このコードをテストするために使用するテーマはStorefrontです。 これを表示するページに応じて、フックに依存します。

+0

こんにちは、あなたが私を理解しているかどうかはわかりません。私は電話やエコー、任意のテキストをしたくない、私はV1とV2が在庫切れの場合、VARIANT 3を隠すだけです。 [link] https://i.stack.imgur.com/TFHBc.png 子テーマでfunctions.phpにコピーするスニペットはありますか?私はテンプレートFlatsomeを使用します。 –

+0

私は知っています。それは私があなたにその例を挙げた理由です。テーマやページを指定しないでください。 条件が満たされない場合、エコーは表示されません。あなたの特定の状態だった第3変種を含み、それを隠しています。 あなたが求めている推論を理解するための基本的な例でした。 –

+0

申し訳ありませんが、私はPHPの初心者です。私はこのコードが私のバージョンにどのように編集され、functions.phpに追加されるのか知りません。このスニペットを関数に追加するには、add_filterまたはactionが必要だと思いました。 –

関連する問題