我将为woocommerce产品编写一个查询,以显示有stock = 1的产品。此外,如果产品是可变的,并且任何变量都有stock =1,那么这个查询应该包括其中。例如:
产品一:
产品二:
产品三:
产品四:
因此查询应该返回product和Product3。
我使用了以下查询:
$query = array(
'relation' => 'AND',
array(
'key' => '_stock_status',
'value' => 'instock',
'compare' => '='
),
array(
'key' => '_stock',
'type' => 'numeric',
'value' => '1',
'compare' => '='
),
); 但是,它不能工作返回产品三。你能帮帮我吗?
提前谢谢。
发布于 2018-09-23 14:39:18
您需要将post类型的product_variation用于变体产品& product,这样也可以过滤可变产品。
因此,您可以进行以下操作:
add_action( 'woocommerce_product_query', 'modify_query', 10, 2 );
function modify_query( $q, $instance ) {
$post_type = array( 'product', 'product_variation' );
$q->set( 'post_type', (array) $post_type );
$meta_query[] = [
'relation' => 'AND',
[
'key' => '_stock_status',
'value' => 'instock',
'compare' => '=',
],
[
'key' => '_stock',
'type' => 'numeric',
'value' => '1',
'compare' => '=',
],
];
$q->set( 'meta_query', $meta_query );
}https://stackoverflow.com/questions/52466523
复制相似问题