php - WordPress/WooCommerce : Cannot Specify Product Category In WP_Query

标签 php wordpress woocommerce

我正在尝试设置一个自定义循环来循环分配给产品类别的产品,但它似乎不起作用。

我的类别设置:

厂家直销 -FD1 -FD2 -FD3

我希望我的循环显示属于 ID 为 84 的 Factory Direct 任何子类别的产品。

我尝试在模板中对此进行编码:

<ul class="products factoryloop">
    <?php
        $args = array(
            'post_type' => 'product',
            'posts_per_page' => 12,
            'cat' => 84
            );
        $loop = new WP_Query( $args );
        if ( $loop->have_posts() ) {
            while ( $loop->have_posts() ) : $loop->the_post();
                woocommerce_get_template_part( 'content', 'product' );
            endwhile;
        } else {
            echo __( 'No products found' );
        }
        wp_reset_postdata();
    ?>
</ul><!--/.products-->

我尝试将 ID 从 84 更改为特定类别(例如 FD1,其 ID 为 24),但它仍然不起作用。

有什么想法/建议吗?

如果我删除 WP_Query 中的 cat 参数,它会循环遍历产品,但我无法指定我的循环。

谢谢!

最佳答案

您需要首先获取该类别的所有子级,并将它们包含在查询的 cat 参数中。

<ul class="products factoryloop">
    <?php
        $parentCat = 84;
        $children = get_categories(array('child_of'=>$parentCat));

        $childs = array($parentCat);
        foreach($children as $child){
            $childs[] = $child->cat_ID;
        }
        $args = array(
            'post_type' => 'product',
            'posts_per_page' => 12,
            'cat' => implode(',', $childs);
            );
        $loop = new WP_Query( $args );
        if ( $loop->have_posts() ) {
            while ( $loop->have_posts() ) : $loop->the_post();
                woocommerce_get_template_part( 'content', 'product' );
            endwhile;
        } else {
            echo __( 'No products found' );
        }
        wp_reset_postdata();
    ?>
</ul><!--/.products-->

关于php - WordPress/WooCommerce : Cannot Specify Product Category In WP_Query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18861462/

相关文章:

css - 自定义 CSS 以创建 WordPress 下拉菜单

mysql - 带有特色图像和类别的 WordPress 帖子

php - 在 woocommerce 的结帐页面中显示更新的数据

php - 在 Woocommerce 3 中使用 WC_Cart add_to_cart() 方法存储自定义数据

php - 根据选中的单选按钮显示或隐藏 WooCommerce 结帐字段

javascript - Bootstrap 3 - 手动将事件类分配给标题导航项

javascript - 将结果集值传递给 JavaScript 函数

php - 带有 wp 编辑器的 Wordpress 自定义内容区域?

php - 异常是显示给用户还是只显示给开发人员?

wordpress - 将私有(private)页面重定向到先登录,然后在 Wordpress 中显示页面