好吧,我正在尝试为 Woocommerce 产品创建一些自定义循环页面,我发现该过程从 archive-product.php 文件开始,然后它包含用于绘制页面的模板片段。
但是我想更改要查询的参数,所以它会加入一些产品类别,或者会从循环中排除一些产品或某些类别(就像我们在 Wordpress 项目中的 category.php 中所做的那样)。
我该怎么做?!我在哪里可以找到这部分脚本?
谢谢!
好吧,我正在尝试为 Woocommerce 产品创建一些自定义循环页面,我发现该过程从 archive-product.php 文件开始,然后它包含用于绘制页面的模板片段。
但是我想更改要查询的参数,所以它会加入一些产品类别,或者会从循环中排除一些产品或某些类别(就像我们在 Wordpress 项目中的 category.php 中所做的那样)。
我该怎么做?!我在哪里可以找到这部分脚本?
谢谢!
Woocommerce 仅依赖于 wordpress global $wp_query
,您可以使用pre_get_posts动作挂钩来修改任何查询,
例如
function _additional_woo_query( $query ) {
if ( is_product_category() ) {
$query->set( 'cat', '123' );
}
}
add_action( 'pre_get_posts', '_additional_woo_query' );
结帐 woocommerce条件标签
试试下面的代码。
将其粘贴到您的主题的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' );