2016-10-19 8 views
0

Woocommerce 제품 변형에 대한 질문이 있습니다. 3 가지 변수/변형이있는 변수가있는 제품이있을 때. 첫 번째 또는 두 번째 변형이 인 경우에만 표시된 SPECIAL VARIANT를 만들어야합니다. 고객이 두 변종을 모두 구입하면 SPECIAL을 숨겨야합니다.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

특별 변형 예를 볼 수있는 유일한 사람이 될 수 없습니다

내가 잘 설명했는지 모르겠다. 내 영어를 유감스럽게 생각한다.

이 문제에 대한 해결책은 없습니까? 모든 후크, 스 니펫 또는 플러그인?

나는 모든 조언을 기쁘게 생각합니다. 야콥.

답변

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이 필요하다고 생각했다. –