2017-03-09 13 views
0

나는이추가 플러그인없이 추천이나 태그별로 WooCommerce 제품을 분류하는 방법은 무엇입니까?

[product_category category="products" orderby="title" order="asc"] 

같은 제품 카테고리를 나열하는 단축 코드를 사용하여 내가 기능을 갖춘 제품이 목록의 상단에있을 수있는 방법을 궁금해 해요? 그것은 orderby parameter와 관련이 있습니다. 그러나 저는 잘 모릅니다.

제 3 자 플러그인을 제안하지 마십시오.
더 많은 정보 in WooCommerce 공식 docs.

+0

단축 코드가 필요하거나 'WP_Query'도 수행합니까? –

+0

나는 shortcode를 선호합니다. – Cowboy

답변

0

제품이 아닌 기능을 갖춘 제품에 대한 기능을 갖춘 제품에 대한 yesno로 설정되어 _featured 같은 사용자 정의 필드가 있습니다. 따라서 을 사용하여 WooCOmmerce shortcode를 덮어 쓰려면 woocommerce_shortcode_products_query 필터를 사용하십시오.

add_filter('woocommerce_shortcode_products_query', 'wh_woocommerce_shortcode_products_orderby'); 

function wh_woocommerce_shortcode_products_orderby($args) 
{ 

    $standard_array = ['menu_order', 'title', 'date', 'rand', 'id']; 
// print_r($args['orderby']); 
    if (isset($args['orderby']) && !in_array($args['orderby'], $standard_array)) 
    { 
     $args['meta_key'] = '_featured'; 
     $args['orderby'] = 'meta_value_num'; 
    } 
// print_r($args); 
    return $args; 
} 

코드 활성 자식 테마 (또는 테마)의 function.php 파일에 간다. 또는 모든 플러그인 PHP 파일에서.

USAGE
제품 형태 참고 : 을 코드가 작동하는 것 이상이 아닌 기능을 갖춘

[product_category category="products" orderby="_featured" order="DESC"] 

(즉, 형태 yesno에)로 기능하지만, 인쇄 당신이 경우 나열하려면 $args['orderby']_featured 키가 표시되지 않습니다. 따라서 하드 코드 된 $args에 있습니다. 표준 방식이 아닙니다..

희망이 도움이됩니다.

+0

불행히도, doest가 효과가있는 것처럼 보입니다. 그들은 단지 Z에서 A로 정렬됩니다. – Cowboy

+0

나는 내 대답을 업데이트 했으므로 작동하는 것처럼 보이지만 나는 곧 내 대답을 다시 개정 할 것입니다. 그 때까지 이것을 사용할 수 있습니다. –

+0

이제 새로 고침 할 때마다 임의로 정렬 된 것처럼 보입니다. – Cowboy