WooCommerce WP_QUERY POST_NOT_IN问题

时间:2017-03-13 作者:Alex Pain

我想将销售产品排除在输出相关产品之外。

在里面$args 我有场地post__not_in 我想从中输出值数组wc_get_product_ids_on_sale(); 作用

之前的代码$args

$related = $product->get_related( $posts_per_page );    
$product_ids_on_sale = wc_get_product_ids_on_sale();
在我写args之后

$args = apply_filters( \'woocommerce_related_products_args\', array(
            \'post_type\'            => \'product\',
            \'ignore_sticky_posts\'  => 1,
            \'no_found_rows\'        => 1,
            \'posts_per_page\'       => $posts_per_page,
            \'orderby\'              => $orderby,
            \'post__in\'             => $related,
            \'post__not_in\'         => $product_ids_on_sale,
        ) );
但在前端,我看到的是没有在售和在售的产品

我尝试回应$product\\u ids\\u on\\u sale it returnsArray据我所知,我需要从数组中返回每个值$product_ids_on_sale 分隔为,比我想写的还要多foreach 喜欢

$product_ids_on_sale = wc_get_product_ids_on_sale();
         foreach($product_ids_on_sale as $result) {
            echo $res,\',\';
        }
但echo不是我想要的。我需要return 我也试着写“post\\u not\\u in”

array_merge( array( 0 ), wc_get_product_ids_on_sale() )
没有帮助。。。

请帮我排除销售产品!

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

如果两者都有post__inpost__not_in 作为的输入参数WP_Query, 仅限post__in 已激活。查看来源here.

如果需要从post__in, 您应该在传递数组之前执行此操作。

相关推荐

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

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