在Woocommerce商店页面上隐藏所有特价商品

时间:2018-03-20 13:23:10

标签: php wordpress woocommerce metadata product

是否可以隐藏所有标记为" sale"在标准的WooCommerce商店页面上?

销售产品将在单独的销售页面上发布。

1 个答案:

答案 0 :(得分:0)

要在Woocommerce商店页面上隐藏所有待售产品 (变量产品除外) ,请使用:

add_filter( 'woocommerce_product_query_meta_query', 'on_sale_products_not_in_archives', 10, 2 );
function on_sale_products_not_in_archives( $meta_query, $query ) {
    // For woocommerce shop pages
    if( is_shop() ){
        $meta_query[] = array(
            'key'     => '_sale_price',
            'value'   => '',
            'compare' => '=',
        );
    }
    return $meta_query;
}

代码放在活动子主题(或主题)的function.php文件中。经过测试和工作。

如果您需要在所有档案页面上将其作为产品类别存档页面和产品归档标签页面,请使用:

if( is_shop() || is_product_tag() || is_product_category() ){

而不是if( is_shop() ){ ...

  

对于可变产品,我们无法检查变量产品的所有产品变体。