按分类字段查询自定义邮政类型订单

时间:2018-03-27 作者:jchwebdev

这快把我逼疯了。我知道有人问过很多次,但我想不出来。我正在尝试显示WooCommerce产品的列表,这是一种自定义的“产品”post类型。我想按“product\\u cat”分类法对其进行排序。

在下面的代码中,内部while循环(query)-应该-只显示每个product_cat的产品,而是显示-all-产品。

为什么查询不过滤每个product\\u cat?

// loop through the categories
foreach ($cats as $cat) {
  $cat_id = $cat->term_id;
        $cat_slug = $cat->slug;
  // Make a header for the category
  echo "<h2>".$cat->slug.\' \'. $cat_id . "</h2>";
  // create a custom wordpress query

      $args = array(
          \'post_type\' => \'product\',
            \'posts_per_page\' => -1,
            array(
                \'taxonomy\' => \'product_cat\',
                \'terms\'    => $cat_id,
                \'field\'    => \'term_id\',                    
            ),
        );
    $query = new WP_Query( $args );

        if ( $query->have_posts() ) {
            echo \'<ul>\';
            while ( $query->have_posts() ) {
                $query->the_post();
            $p = get_the_ID();
                echo \'<li>\' . get_the_title() . \'</li>\';
            }
            echo \'</ul>\';
            /* Restore original Post Data */
            wp_reset_postdata();
        } else {
            // no posts found
                echo(\'no posts!\');  
    }

1 个回复
最合适的回答,由SO网友:TheDeadMedic 整理而成

你错过了tax_query 键,它需要是嵌套数组:

$args = array(
    \'post_type\' => \'product\',
    \'posts_per_page\' => -1,
    \'tax_query\' => array(
        array(
            \'taxonomy\' => \'product_cat\',
            \'terms\' => $cat_id,
            \'field\' => \'term_id\',
        ),
    ),
);
检查the documentation

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post

按分类字段查询自定义邮政类型订单 - 小码农CODE - 行之有效找到问题解决它

按分类字段查询自定义邮政类型订单

时间:2018-03-27 作者:jchwebdev

这快把我逼疯了。我知道有人问过很多次,但我想不出来。我正在尝试显示WooCommerce产品的列表,这是一种自定义的“产品”post类型。我想按“product\\u cat”分类法对其进行排序。

在下面的代码中,内部while循环(query)-应该-只显示每个product_cat的产品,而是显示-all-产品。

为什么查询不过滤每个product\\u cat?

// loop through the categories
foreach ($cats as $cat) {
  $cat_id = $cat->term_id;
        $cat_slug = $cat->slug;
  // Make a header for the category
  echo "<h2>".$cat->slug.\' \'. $cat_id . "</h2>";
  // create a custom wordpress query

      $args = array(
          \'post_type\' => \'product\',
            \'posts_per_page\' => -1,
            array(
                \'taxonomy\' => \'product_cat\',
                \'terms\'    => $cat_id,
                \'field\'    => \'term_id\',                    
            ),
        );
    $query = new WP_Query( $args );

        if ( $query->have_posts() ) {
            echo \'<ul>\';
            while ( $query->have_posts() ) {
                $query->the_post();
            $p = get_the_ID();
                echo \'<li>\' . get_the_title() . \'</li>\';
            }
            echo \'</ul>\';
            /* Restore original Post Data */
            wp_reset_postdata();
        } else {
            // no posts found
                echo(\'no posts!\');  
    }

1 个回复
最合适的回答,由SO网友:TheDeadMedic 整理而成

你错过了tax_query 键,它需要是嵌套数组:

$args = array(
    \'post_type\' => \'product\',
    \'posts_per_page\' => -1,
    \'tax_query\' => array(
        array(
            \'taxonomy\' => \'product_cat\',
            \'terms\' => $cat_id,
            \'field\' => \'term_id\',
        ),
    ),
);
检查the documentation

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post