首页 文章

在Woocommerce中列出没有短代码的特色产品和On Sale产品

提问于
浏览
0

据我所知,WooCommerce提供了用于特色和销售产品的短代码 .

但是,我可以在我要显示它们的页面或小部件上使用短代码 .

我真正想要做的是创建一个销售链接和一个特色产品链接,分别列出销售产品和特色产品 .

无论如何我可以在没有产品类别列出方式的短代码的情况下做到这一点吗?

1 回答

  • 0

    以下代码将过滤woocommerce产品查询中的产品:

    • 使用 https://www.example.com/shop/?featured=1 查询字符串显示特色产品

    • 使用 https://www.example.com/shop/?onsale=1 查询字符串显示销售产品

    代码:

    // Featured products
    add_filter( 'woocommerce_product_query_tax_query', 'filter_featured_products', 20, 1 );
    function filter_featured_products( $tax_query ){
        if( isset($_GET['featured']) && $_GET['featured'] ){
            $tax_query[] = array(
                'taxonomy'  => 'product_visibility',
                'field'     => 'name', // name or term_id
                'terms'     => array('featured')
            );
        }
        return $tax_query;
    }
    
    // On sale products    
    add_filter( 'woocommerce_product_query_meta_query', 'filter_on_sale_products', 20, 1 );
    function filter_on_sale_products( $meta_query ){
        if( isset($_GET['onsale']) && $_GET['onsale'] ){
            $meta_query[] = array(
                'key' => '_sale_price',
                'value' => 0,
                'compare' => '>'
            );
        }
        return $meta_query;
    }
    

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

相关问题