从WP_QUERY中排除WooCommerce产品

时间:2019-06-27 作者:Suneth Kalhara

我正在使用WP\\u查询从类别中获取产品,

$default = array(
    \'post_type\' => \'product\',       
    \'orderby\' => \'date\',
    \'order\' => \'DESC\',
    \'post_status\' => \'publish\',
    \'showposts\' => $numberposts
);
if( $category != \'\' ){
    $term = get_term_by( \'slug\', $category, \'product_cat\' );
    if( $term ) :
        $term_name = $term->name;
    endif; 
    $default[\'tax_query\'] = array(
        array(
            \'taxonomy\'  => \'product_cat\',
            \'field\'     => \'slug\',
            \'terms\'     => $category )
    );  
}
$list = new WP_Query( $default );
但我需要排除使用产品ID的少数产品,也可以在循环中使用一些if条件,但我需要将该过滤器应用于上述查询

例如,我需要从上述查询中排除产品id 2024。

有人知道怎么做吗。非常感谢。

1 个回复
SO网友:Chetan Vaghela

您可以使用“post\\uu not\\u in”参数。在要排除的数组中添加产品id。

$default = array(
    \'post_type\' => \'product\',
    \'post__not_in\' => array(2024),       
    \'orderby\' => \'date\',
    \'order\' => \'DESC\',
    \'post_status\' => \'publish\',
    \'showposts\' => $numberposts
);
if( $category != \'\' ){
    $term = get_term_by( \'slug\', $category, \'product_cat\' );
    if( $term ) :
        $term_name = $term->name;
    endif; 
    $default[\'tax_query\'] = array(
        array(
            \'taxonomy\'  => \'product_cat\',
            \'field\'     => \'slug\',
            \'terms\'     => $category )
    );  
}
$list = new WP_Query( $default );

相关推荐

Last post in loop when even

我使用这段代码尝试检查每个页面上的最后一篇文章循环是否均匀,以便添加不同的类。这可以检查它是否是最后一篇文章:( ( 1 == $wp_query->current_post + 1 ) == $wp_query->post_count ) 这可以检查它是否是一个均匀的帖子( $wp_query->current_post % 2 == 0 ) 但这并没有检查这是否是最后一篇文章,甚至。 ( ( 1 == $wp_query->current_post + 1