2014-10-15 2 views
-1

안녕하십니까 온라인 쇼핑몰이 WooCommerce이고 WooCommerce 브랜드 플러그인 (http://docs.woothemes.com/document/wc-brands/)을 사용하고 있지만 온라인 판매가 허용되지만 실제로 판매되지는 않는 브랜드가 있습니다.WooCommerce 브랜드가 판매되지 않도록하기

functions.php에이 특정 브랜드에 추가 할 수있는 기능이있어 카테고리 또는 위젯 레이아웃의 장바구니에 추가 버튼이 "추가 정보"로 변경되어 제품에 연결 한 다음 추가가 아닌 제품 페이지로 연결됩니다 장바구니 섹션에는 상점에 전화 할 때 사용하는 문자 메시지가 있습니다.

답변

0

WooCommerce의 is_purchasable 방법을 필터링 할 수 있습니다. false을 반환하는 항목은 구입할 수 없습니다.

function so_26378581_purchasable($purchasable, $product){ 
    if (has_term('your-brand', 'product_brand', $product->id )){ 
     $purchasable = false; 
    } 
    return $purchasable; 
} 
add_action('woocommerce_is_purchasable', 'so_26378581_purchasable', 10, 2); 

이것은 has_term() 기능을 통해 ... 문제의 $productproduct_brand 분류에 your-brand 용어가 있는지 여부를 테스트하는 조건부 논리를 사용합니다.

그런데 이것은 functions.php에 속하는 기능 유형이 아닙니다. 테마는 표시/외모에만 관심을 가져야합니다. 이 플러그인을 직접 만들거나 site specific snippets 플러그인에 추가하는 것이 좋습니다.

+0

Helga, 고맙습니다.이 제품은 '브랜드'를 'product_brand'로 변경해야했습니다. – user2679140

+0

좋습니다. 올바른 택 소노 미를 반영하도록 코드를 조정했습니다. – helgatheviking

+0

안녕하세요. Helga 저는 누군가가 장바구니에 무언가를 추가 할 때이 오류가 발생하는 것을 신속하게 다시 도와 줄 수 있는지 궁금합니다. – user2679140

0

내게도 오류 메시지가 표시되지 않지만 테스트 대상에 적용된대로 작동하지 않으며 스탠드에 다른 브랜드의 두 제품이 계속 적용됩니다.

는이 코드 입력 :

function so_26378581_purchasable($purchasable, $product){ 
if (has_term('product_brand', 'product_brand', $product->id )){ 
    $purchasable = false; 
} 
return $purchasable; 

} ADD_ACTION를 ('woocommerce_is_purchasable'so_26378581_purchasable ', 10, 2);

관련 문제