如何在Woocommerce存档页面中更改产品循环参数?

问题描述 投票:4回答:2

好吧,我正在尝试为Woocommerce产品创建一些自定义循环页面,我发现该过程在archive-product.php文件中启动,然后它包含用于绘制页面的模板片段。

但我想更改要查询的参数,因此它会加入某些产品类别,或者从循环中排除某些产品或某些类别(就像我们在Wordpress项目中的category.php中所做的那样)。

我该怎么做?!我在哪里可以找到脚本的这一部分?

谢谢!

php wordpress woocommerce hook-woocommerce
2个回答
3
投票

Woocommerce只是依赖于wordpress全球$wp_query,你可以使用pre_get_posts动作钩来修改任何查询,

EG

function _additional_woo_query( $query ) {
    if ( is_product_category() ) {
        $query->set( 'cat', '123' );
    }
}
add_action( 'pre_get_posts', '_additional_woo_query' );

结帐woocommerce conditional tag


0
投票

请尝试以下代码。 将其粘贴到主题的functions.php中。 将$ product_category_id替换为您的值。

function _new_updated_query( $query ) {
if ( is_product_category() && $query->is_main_query() ) {
    $query->set( 'tax_query', array (
        array(
          'taxonomy' => 'product_cat',
          'field'    => 'term_id',
          'terms'    => absint($product_category_id),
        )
    ));
}
}
add_action( 'pre_get_posts', '_new_updated_query' );
© www.soinside.com 2019 - 2024. All rights reserved.