2017-11-08 10 views
1

기본적으로 제품 아카이브 페이지에 특정 속성 값에 해당하는 제품을 표시하고 싶습니다.필터 기본적으로 제품 속성 값이있는 Woocommerce 아카이브 페이지


특성 : pa_condition
조건 : 가게를 열 때 새로운, 사용, 재고 정리

내가 좋아하는 것은 새로운 제품을 볼 수 있습니다.

그러나 2 개 언어가 있습니다. 그래서 나는 조건이 속성 id에 적용되어야한다고 생각합니다.

어떻게 수행 할 수 있습니까?

+0

무엇을 시도 했습니까? 코드는 무엇입니까? 당신이 쓴 것에서부터 문제가 어디에 있을지는 분명하지 않습니다. – Flummox

답변

0

업데이트 : 당신이 후크 기능을 시도 할 수 있습니다 :

add_filter('woocommerce_product_query_tax_query', 'custom_product_query_tax_query', 10, 2); 
function custom_product_query_tax_query($tax_query, $query) { 
    if(is_admin()) return $tax_query; 

    // Define HERE the product attribute and the terms 
    $taxonomy = 'pa_condition'; 
    $terms = array('New', 'Used', 'Closeout'); // Term names 

    // Add your criteria 
    $tax_query[] = array(
     'taxonomy' => $taxonomy, 
     'field' => 'name', // Or 'slug' or 'term_id' 
     'terms' => $terms, 
    ); 
    return $tax_query; 
} 

코드는 어떤 플러그인 파일도 function.php의 활성 자식 테마 (또는 테마)의 파일이나 간다.

테스트를 거쳐 작동합니다.

하지만 용어의 번역에 대해 확실하지 않다, 그래서 당신이 번역 용어에 대한 쿼리에 두 번째 $tax_query[] 배열에 추가 할 의무를 부과해야한다 ...


공식 참조 : WP_Query ~ Taxonomy Parameters

+1

감사합니다. Loïc. –

+0

"선택한 기준에 해당하는 제품이 없습니다"를 반환합니다. "제품 속성 및 용어 정의"를 삭제했습니다. 나는 모든 용어를 배열에 남겨야하는지 아니면 그냥 'New'로 남겨 두어야하는지 잘 모르겠습니다. 'field'=> –

+0

에서 '이름'을 대체해야하는지 확실하지 않은 경우 'field'=> 'names'를 그대로 유지합니까? 또는 나는 New로 이름을 대체해야합니까? –