提问者:小点点

在WooCommerce中列出没有短代码的特色产品和在售产品


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

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

我实际上想做的是创建一个销售链接和一个特色产品链接,分别列出销售产品和特色产品。

有没有无论如何,我可以做到这一点,没有产品类别列出的简码?


共1个答案

匿名用户

以下代码将筛选产品从wooCommerce产品查询到:

  • 使用https://www.example.com/shop/?featured=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;
}

代码进入函数。活动子主题(或活动主题)的php文件。测试和工作。