반응형
재고 상태에 대한 Woocommerce 제품 쿼리
재고 있음, 품절, 백오더 허용의 3가지 상태를 사용하고 있습니다.'재고' 상태만 XML로 내보내고 싶습니다. 문제는 woocommerce가 '재고'와 '백오더 허용' 두 상태에 대해 값 'instock'을 반환한다는 것입니다.이제 쿼리는 다음과 같습니다.
$query = array(
'post_type' => 'product',
'posts_per_page' => -1,
'meta_query' => array(
array(
'key' => '_stock_status',
'value' => 'instock'
)
)
);
$wp_query = & new WP_Query($query);
while ($wp_query->have_posts()) : $wp_query->the_post();
또한 'instock' 및 'backorders_allowed' 상태의 제품을 수출합니다.아마도 'backorders_allowed'가 있는 제품을 제외하는 방법이 있을 것입니다.
meta_query 필터를 여러 개 사용할 수 있습니다.(http://codex.wordpress.org/Class_Reference/WP_Query#Custom_Field_Parameters) 를 참조해 주세요.기본적으로 이러한 필터 간의 관계는 AND로 정상입니다.다음에 대한 필터를 추가할 수 있습니다._back_order = no
.
$query = array(
'post_type' => 'product',
'posts_per_page' => -1,
'meta_query' => array(
array(
'key' => '_stock_status',
'value' => 'instock'
),
array(
'key' => '_backorders',
'value' => 'no'
),
)
);
$wp_query = & new WP_Query($query);
while ($wp_query->have_posts()) : $wp_query->the_post();
를 사용하는 것을 강력히 권장합니다.WC_Product_Query()
대신WP_Query()
.
그래서 어떻게 하는지 보여드릴게요.WC_Product_Query()
.
$query_args = array(
'limit' => 10, //or whatever number of products you want to get.
'stock_status' => 'instock' // or 'outofstock' or 'onbackorder'
);
$query = new WC_Product_Query( $query_args );
$products = $query->get_products();
주의: stock_status를 여러 개 포함할 경우 어레이만 사용하면 됩니다.
'stock_status' => array('instock', 'outofstock', 'onbackorder')
언급URL : https://stackoverflow.com/questions/36205792/woocommerce-product-query-for-stock-status
반응형
'programing' 카테고리의 다른 글
역직렬화 시 json에서 k__BackingField를 삭제하는 방법 (0) | 2023.03.25 |
---|---|
기본값에서 각도 js init ng-model (0) | 2023.03.25 |
정의되지 않은 함수 wp_delete_user() 호출 (0) | 2023.03.25 |
angularjs 지시문에서 클릭 이벤트 트리거 (0) | 2023.03.25 |
Angular와 함께 확인란 사용JS (0) | 2023.03.25 |