Woocommerce - 仅在循环中显示分组产品父级

时间:2015-01-16 00:02:27

标签: woocommerce product

我正在建一个书店。我有一堆分组产品。我的痛苦是,woocommerce默认列出两种类型。我只需要该组的父列出没有孩子

是否有任何钩子或解决方法?

感谢。

5 个答案:

答案 0 :(得分:5)

只是为了补充一点,有一种方法可以做到这一点,而无需编写任何代码。

您只需选择使用可见性选项隐藏产品。

最快的方法是转到产品>产品并勾选您要隐藏的所有产品。单击批量操作下拉列表,然后在“可见性”下拉列表中选择“隐藏”。

某些CSV导入插件也应该有此选项。我使用Woocommerce Import CSV插件,并为我不想在目录或搜索中显示的产品设置隐藏的标题'visibility'。

我必须隐藏除父母产品以外的所有产品以进行价格比较网站。

希望这有助于任何寻找类似解决方案的人。

答案 1 :(得分:5)

执行过滤器

时,上述答案无效

这适用于过滤器,不会覆盖其他查询:

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 );
}

答案 2 :(得分:2)

尝试以下方法:

add_action( 'woocommerce_product_query', 'so_27975262_product_query' );

function so_27975262_product_query( $q ){
    $q->set( 'post_parent', 0 );
}

我们的想法是,我们正在修改查询,使其只显示顶级项目....因此(理论上)没有任何已分配给某个组的内容,这样就可以获得组产品& #39; ID为post_parent

答案 3 :(得分:0)

请尝试以下代码:

axhline

它对我有用..

答案 4 :(得分:0)

确定较晚的答案,但也找到了解决方案:

$params = array(
'posts_per_page' => 5,
'post_type' => 'product',
'tax_query' => array(
    array(
        'taxonomy' => 'product_type',
        'field'    => 'slug',
        'terms'    => 'grouped', 
    ),
),

);

Customized Product Query using WP_Query - WooCommerce