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

Woocommerce-仅在循环中显示分组产品父级,woocommerce,product,Woocommerce,Product,我正在建一家书店。我有一批分组产品。我的痛苦是,woocommerce默认列出这两种类型。我只需要列出该组的家长,而不需要列出孩子 有没有解决这个问题的方法 谢谢。尝试以下方法: add_action( 'woocommerce_product_query', 'so_27975262_product_query' ); function so_27975262_product_query( $q ){ $q->set( 'post_parent', 0 ); } 我们的想法是

我正在建一家书店。我有一批分组产品。我的痛苦是,woocommerce默认列出这两种类型。我只需要列出该组的家长,而不需要列出孩子

有没有解决这个问题的方法

谢谢。

尝试以下方法:

add_action( 'woocommerce_product_query', 'so_27975262_product_query' );

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

我们的想法是修改查询,使其仅显示顶级项。。。。因此(理论上)没有分配给某个组的任何内容,而该组将以组产品的ID作为
post\u父项

只是为了增加这一点,有一种方法可以做到这一点,而不必编写任何代码

您可以简单地选择使用可见性选项隐藏产品

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

一些CSV导入插件也应该有这个选项。我使用Woocommerce导入CSV插件,将我不想在目录或搜索中显示的产品的标题“可见性”设置为隐藏

我必须隐藏所有,但母公司的产品价格比较网站


希望这对寻找类似解决方案的人有所帮助。

请尝试以下代码:

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', 
    ),
),
))


您是否仍然有不属于集团的常规简单产品,并且仍然需要展示?是。:)基本上我只需要从循环中排除有父组的项。我刚才回答了如何修改查询。我认为这在这里是相关的,但我现在很忙,无法考虑如何实际修改查询。父id似乎未另存为元。工作方式类似于符咒。非常感谢。在主题的functions.php文件中。或者在它自己的插件中。虽然接受的答案对我不起作用,但这一个确实+1!