使用IS_TAX选择多个类别

时间:2019-09-07 作者:Vektor Unbreakable

我有一个很好的功能,可以从类别中排除缺货产品。问题是我想排除多个类别(实际上我只想在一个类别中显示,但我认为这就是方法。如果有人知道如何只在一个类别中显示…)。这是代码。谢谢

/* Hyde out of stock product specific category */

add_filter( \'pre_get_posts\', \'hide_out_of_stock_from_cat\' );
function hide_out_of_stock_from_cat( $query ) {
    if ( $query->is_tax( \'product_cat\', 15 ) && $query->is_main_query() )     {
    $query->set( \'meta_query\', array(array(
            \'key\'       => \'_stock_status\',
         \'value\'     => \'outofstock\',
         \'compare\'   => \'NOT IN\'
    )));
    }
}

1 个回复
最合适的回答,由SO网友:Vektor Unbreakable 整理而成

感谢@SallyCJ给出了正确的答案—您可以将类别ID/slug/名称的数组提供给is_tax() 检查多个类别。以下是正确的代码:

 /* Hyde out of stock product specific category */

 add_filter( \'pre_get_posts\', \'hide_out_of_stock_from_cat\' );
 function hide_out_of_stock_from_cat( $query ) {
     if ( $query->is_tax( \'product_cat\', array( 15, 16, 18, 19, 20, 21, 22, 23, 24, 59, 60, 62, 63, 66 ) ) && $query->is_main_query() ) {
    $query->set( \'meta_query\', array(array(
            \'key\'       => \'_stock_status\',
             \'value\'     => \'outofstock\',
             \'compare\'   => \'NOT IN\'
    )));
     }
 }

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post