Woocommerce - 仅在循环中显示分组产品 parent
Woocommerce - Only show grouped products parent in the loop
我正在开一家书店。我有一堆 分组产品 。我的痛苦是,woocommerce 默认列出这两种类型。我只需要列出parent组没有孩子。
是否有任何钩子或解决方法?
谢谢。
尝试以下操作:
add_action( 'woocommerce_product_query', 'so_27975262_product_query' );
function so_27975262_product_query( $q ){
$q->set( 'post_parent', 0 );
}
我们的想法是,我们正在修改查询,使其只显示顶级项目....因此(理论上)没有分配给组的任何内容,然后组产品的ID为post_parent
.
补充一下,有一种方法可以做到这一点,而无需编写任何代码。
您可以简单地选择使用可见性选项隐藏产品。
最快的方法是转到“产品”>“产品”并勾选您要隐藏的所有产品。单击批量操作 drop-down 并选择隐藏在可见性中 drop-down。
一些 CSV 导入插件也应该有这个选项。我使用 Woocommerce 导入 CSV 插件并将标题 'visibility' 设置为隐藏,以隐藏我不想在目录或搜索中显示的产品。
对于价格比较网站,我必须隐藏除 parent 产品以外的所有产品。
希望这对寻找类似解决方案的任何人有所帮助。
试试下面的代码:
add_action( 'woocommerce_product_query', 'hs_product_query' );
function hs_product_query( $q ){
$product_type = array(
'taxonomy' => 'product_type',
'field' => 'slug',
'terms' => 'grouped'
);
$q->set('tax_query', array($product_type) );
$q->set( 'post_parent', 0 );
}
它对我有用..
以上答案在您执行过滤器时不起作用
这适用于过滤器,不会覆盖其他查询:
add_action( 'woocommerce_product_query', 'only_grouped_products_query' );
function only_grouped_products_query( $q ) {
//get current loop query
$taxonomy_query = $q->get('tax_query') ;
//appends the grouped products condition
$taxonomy_query['relation'] = 'AND';
$taxonomy_query[] = array(
'taxonomy' => 'product_type',
'field' => 'slug',
'terms' => 'grouped'
);
$q->set( 'tax_query', $taxonomy_query );
}
好的迟到的答案,但也找到了这个解决方案:
$params = array(
'posts_per_page' => 5,
'post_type' => 'product',
'tax_query' => array(
array(
'taxonomy' => 'product_type',
'field' => 'slug',
'terms' => 'grouped',
),
),
);
我正在开一家书店。我有一堆 分组产品 。我的痛苦是,woocommerce 默认列出这两种类型。我只需要列出parent组没有孩子。
是否有任何钩子或解决方法?
谢谢。
尝试以下操作:
add_action( 'woocommerce_product_query', 'so_27975262_product_query' );
function so_27975262_product_query( $q ){
$q->set( 'post_parent', 0 );
}
我们的想法是,我们正在修改查询,使其只显示顶级项目....因此(理论上)没有分配给组的任何内容,然后组产品的ID为post_parent
.
补充一下,有一种方法可以做到这一点,而无需编写任何代码。
您可以简单地选择使用可见性选项隐藏产品。
最快的方法是转到“产品”>“产品”并勾选您要隐藏的所有产品。单击批量操作 drop-down 并选择隐藏在可见性中 drop-down。
一些 CSV 导入插件也应该有这个选项。我使用 Woocommerce 导入 CSV 插件并将标题 'visibility' 设置为隐藏,以隐藏我不想在目录或搜索中显示的产品。
对于价格比较网站,我必须隐藏除 parent 产品以外的所有产品。
希望这对寻找类似解决方案的任何人有所帮助。
试试下面的代码:
add_action( 'woocommerce_product_query', 'hs_product_query' );
function hs_product_query( $q ){
$product_type = array(
'taxonomy' => 'product_type',
'field' => 'slug',
'terms' => 'grouped'
);
$q->set('tax_query', array($product_type) );
$q->set( 'post_parent', 0 );
}
它对我有用..
以上答案在您执行过滤器时不起作用
这适用于过滤器,不会覆盖其他查询:
add_action( 'woocommerce_product_query', 'only_grouped_products_query' );
function only_grouped_products_query( $q ) {
//get current loop query
$taxonomy_query = $q->get('tax_query') ;
//appends the grouped products condition
$taxonomy_query['relation'] = 'AND';
$taxonomy_query[] = array(
'taxonomy' => 'product_type',
'field' => 'slug',
'terms' => 'grouped'
);
$q->set( 'tax_query', $taxonomy_query );
}
好的迟到的答案,但也找到了这个解决方案:
$params = array(
'posts_per_page' => 5,
'post_type' => 'product',
'tax_query' => array(
array(
'taxonomy' => 'product_type',
'field' => 'slug',
'terms' => 'grouped',
),
),
);