我有可变的产品,它的属性名为:“数量”,它有“100”、“200”、“500”等变体。所有这些变化都有正常价格。我想过滤并显示数量变化为“200”且常规价格为 10 的变量产品。
我正在使用此代码,但它显示了数量变化为“200”的所有产品,但未按变化的正常价格进行过滤。
$query = array(
'post_status' => 'publish',
'post_type' => array('product', 'product_variation'),
'posts_per_page' => 10,
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'pa_quantity',
'field' => 'term_id',
'terms' => '67',
),
'meta_query' => array(
array(
'key' => '_regular_price',
'value' => 10,
'compare' => '=',
'type' => 'NUMERIC'
),
),
)
);
例如,我使用属性 Quantity 的术语 200 的 id,即 67。
最佳答案
所以,我终于找到了答案......这可能会对将来的某人有所帮助。
以下查询将首先筛选术语 ID 为 75 的“数量”属性的变量产品,然后进一步筛选设置了价格 500 的变体的结果。
$query = array(
'post_status' => 'publish',
'post_type' => array('product', 'product_variation'),
'posts_per_page' => 10,
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'pa_quantity',
'field' => 'term_id',
'terms' => '75',
),
),
'meta_key' => '_price',
'meta_value' => 500,
);
$wc_query = new WP_Query($query);
关于php - WP_Query Woocommerce 按属性和变化常规价格过滤可变产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44688846/