我正在尝试以几乎相似的正常价格展示woocommerce产品。 例如:当前产品的正常价格为1000美元
以及其他一些价格
的产品现在,如果我想按价格显示最近的4个产品,那么它们将是产品1,6,4,9
因为上面对我来说似乎有点困难,所以我试图获得
以下是我尝试过的wp查询的参数
$args = array(
'post_type'=>'product',
'posts_per_page'=>2,
'order' => 'DESC',
'orderby' => 'meta_value',
'meta_key' => '_price',
'meta_query' => array(
array(
'key' => '_price',
'value' => 1000,
'compare' => '<',
'type' => 'NUMERIC'
),
)
);
我想它应该给我2个最近的产品,价格低于1000
但问题是它还给了我没有设定价格的产品..所以我想排除没有定价的产品..
提前致谢
答案 0 :(得分:1)
您可以使用多个元查询,因此您可以添加一个以检查价格是否高于0:
$args = array(
'post_type'=>'product',
'posts_per_page'=>2,
'order' => 'DESC',
'orderby' => 'meta_value',
'meta_key' => '_price',
'meta_query' => array(
array(
'key' => '_price',
'value' => 1000,
'compare' => '<',
'type' => 'NUMERIC'
),
array(
'key' => '_price',
'value' => 0,
'compare' => '>',
'type' => 'NUMERIC'
)
)
);
您无需设置关系参数,因为默认设置为“AND”。