Woocommerce从Category中获取产品ID

时间:2015-03-24 14:11:22

标签: php wordpress woocommerce

因此,在我的taxonomy-product_tag.php模板上,我希望从类别中获取所有产品ID。

以下是我目前的工作方式

<?php
            $post_ids = array();
            $args = array( 'post_type' => 'product', 'posts_per_page' => 1, 'product_cat' => 'dog-collars', 'orderby' => 'rand' );
            $loop = new WP_Query( $args );
            if ( $loop->have_posts() ) {
            while ( $loop->have_posts() ) : $loop->the_post();

                $post_ids[] = get_the_ID();


            endwhile;
            } else {
            echo __( 'No products found' );
            }

            wp_reset_query();
            print_r($post_ids); 
        ?>

我可以遍历product_cat,将id引入数组,然后在页面的下方,我使用foreach和WC产品工厂来操作数据,以便我为用户显示它。

我的问题是我需要根据类别将循环设置为动态,并且我无法理解如何执行此操作。

我确实认为我可以从网址

中获取类别名称
<?php $actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; ?>

抓住它并解析得到最后一个,即类别名称,然后打印到循环

但这似乎是一种非常糟糕的做法。

我想要的是args

$args = array( 'post_type' => 'product', 'posts_per_page' => 1, 'product_cat' => 'DYNAMICHERE', 'orderby' => 'rand' );

我希望能够根据我所在的类别动态填充product_cat

任何帮助或建议/指出我正确的方向将不胜感激

1 个答案:

答案 0 :(得分:1)

使用get_query_var( 'product_cat' )