如何使用数组过滤掉 Woocommerce 中隐藏的产品

我有一个数组,但我无法添加最后一点,我想过滤掉隐藏的产品,这似乎不起作用。


所以首先我尝试打印出所有变量,使用get_defined_vars()它按预期打印出所有变量。然后我找到了我感兴趣的数组部分


Array ( [name] => Test1 

        [slug] => test1 

        [date_created] => WC_DateTime Object ( 

            [utc_offset:protected] => 0 

            [date] => 2018-03-06 11:29:10.000000 

            [timezone_type] => 3 

            [timezone] => Europe) 

        [date_modified] => WC_DateTime Object ( 

            [utc_offset:protected] => 0 

            [date] => 2018-05-30 22:33:49.000000 

            [timezone_type] => 3 

            [timezone] => Europe) 

        [status] => publish 

        [featured] => [catalog_visibility] => hidden 

我认为这就是我所需要的,所以我尝试将这一行插入到数组中:


'catalog_visibility' => 'visible',这不起作用。我是否还必须包含 [featured] 元素才能使其工作?


否则echo $product->visibility;打印出来,如果产品被隐藏或可见。


我有这个数组:


$args = array(

     'post_type' => 'product',

      'orderby' => 'rand',

      'posts_per_page' => 1,

      'product_cat' => 'c_pubescens',

      'post_status' => 'publish',

      'meta_query' => array(

           array(

               'key' => '_stock_status',

               'value' => 'instock'

       )

  )

);

$loop = new WP_Query( $args );


我迷失在这。为什么它会打印状态,如果我这样做echo $product->visibility;但如果我这样做echo $product->catalog_visibility;(在数组中)它不会返回任何东西?主要是,我如何使它工作?


catspeake
浏览 135回答 1
1回答

翻翻过去那场雪

好的,为自己找到了答案。忘记发了,所以发过来了。$args = array(     'post_type' => 'product',     'orderby' => 'rand',     'posts_per_page' => 1,     'product_cat' => 'c_pubescens',     'post_status' => 'publish',     'tax_query'    => array(           array(              'taxonomy'         => 'product_visibility',              'terms'            => array( 'exclude-from-catalog', 'exclude-from-search' ),              'field'            => 'name',              'operator'         => 'NOT IN',           ),      ),     'meta_query' => array(         array(             'key' => '_stock_status',             'value' => 'instock'   )
打开App,查看更多内容
随时随地看视频慕课网APP