【问题标题】:Woocommerce - Only show grouped products parent in the loopWoocommerce - 仅在循环中显示分组产品父级
【发布时间】:2015-01-16 00:02:27
【问题描述】:

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

有什么钩子或解决方法吗?

谢谢。

【问题讨论】:

  • 您是否还有不属于组的常规简单产品仍需要展示?
  • 是的。 :) 基本上我只需要从循环中排除项目,如果它们有父组。
  • 我刚刚回答了here关于如何修改 WooCommerce 查询的问题。我认为这与此处相关,但我现在很忙,无法查看如何实际修改查询。父 id 似乎没有保存为元。

标签: woocommerce product


【解决方案1】:

除此之外,还有一种方法可以做到这一点,而无需编写任何代码。

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

执行此操作的最快方法是转到产品 > 产品并勾选您要隐藏的所有产品。点击批量操作下拉菜单并在可见性下拉菜单中选择隐藏。

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

对于价格比较网站,我必须隐藏除父产品之外的所有产品。

希望这可以帮助任何寻找类似解决方案的人。

【讨论】:

    【解决方案2】:

    当您执行过滤器时,上述答案不起作用

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

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

    【讨论】:

    • 虽然接受的答案对我不起作用,但这个答案 +1!
    【解决方案3】:

    尝试以下方法:

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

    我们的想法是我们正在修改查询,使其仅显示顶级项目....因此(理论上)没有分配给组的任何内容,然后该组产品的 ID 为post_parent

    【讨论】:

    • 像魅力一样工作。谢谢!
    • 在主题的 functions.php 文件中。或者在它自己的插件中。
    【解决方案4】:

    试试下面的代码:

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

    它对我有用..

    【讨论】:

      【解决方案5】:

      好的,迟到的答案,但也找到了这个解决方案:

      $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

      【讨论】:

        猜你喜欢
        • 2019-03-06
        • 1970-01-01
        • 1970-01-01
        • 2015-12-16
        • 2020-11-05
        • 1970-01-01
        • 2014-05-04
        • 2017-03-20
        • 1970-01-01
        相关资源
        最近更新 更多