在Woocommerce 3 +

时间:2018-05-29 20:47:29

标签: php wordpress woocommerce

我的商店有一项功能,允许我自动生成产品报价,在报价的属性,价格和运输规则之后,我会动态创建新产品。

我不希望这些产品显示在我的目录或搜索中,所以我一直在试图弄清楚如何将“目录可见性”更新为隐藏。

起初我正在尝试:

update_post_meta( $prod_ID, '_visibility', 'hidden' );

添加了元,然而,在调查中我发现WooCommerce改变了它指定产品是否可见或隐藏的方式::以下来自WooCommerce

  

产品可视性是基于分类而非基于元的   3.0.0引入了新的产品可见性分类;目录,搜索,隐藏,特色,缺货是条款。这些设置用于在前端查询期间升级并帮助过滤目录中的产品。

我的问题是;如何通过PHP修改分类。

1 个答案:

答案 0 :(得分:1)

它应该是这样的:

$terms = array( 'exclude-from-search', 'exclude-from-catalog' ); // for hidden..
wp_set_post_terms( $prod_ID, $terms, 'product_visibility', false );
你可以在这里得到这个想法...... woocommerce/includes/data-stores/class-wc-product-data-store-cpt.php#L671