从WP_Query循环中删除Woocommerce免费产品



我在一个增强的文本小部件中使用下面的php来显示最近添加的产品列表。它运行良好。

然而,我的商店也有免费产品(价格0(,我不希望这些产品显示在列表中。

我需要向代码中添加什么才能排除免费产品?

<?php  
$args = array(
'post_type'      => 'product',
'posts_per_page' => 8,
);
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
global $product;
echo '<br /><a href="'.get_permalink().'">'.get_the_title().'</a>';
endwhile;
wp_reset_query();
?>

您可以尝试使用wp_query only

$loop = new WP_Query( array(
'post_type'      => 'product',
'posts_per_page' => 8,
'meta_query'   => [[
'key' => '_price',
'value' => 0,
'compare' => '>',
'type' => 'NUMERIC'
]]
) );

查看此处了解更多示例。

最新更新