提问者:小点点

如何仅在Woocommerce中输出特定产品的列表?


如何从Woocommerce插件输出选定的产品,使列表看起来与产品类别列表相同?

Woocommerce有一个内置的短代码[products]来输出产品。如果我创建了一个页面,我可以这样做,但是我可以通过编程来实现吗?

例如。URL是 /prods/?custom_key=test(我知道如何告诉WP识别URL并使用我的代码)

使用WP_Query我设置全局$wp_query返回要输出的产品列表。

global $wp_query
$args = [...];
$wp_query = new WP_Query( $args );

我试过使用归档页面

include(get_query_template('archive'));

它几乎可以工作,但它不像在产品类别中那样显示产品。

创建$wp_query后,如何通过重新使用短代码[产品]将使用的产品循环来输出产品?


共1个答案

匿名用户

这是一个简单的产品循环,可以在任何模板文件中使用

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

这将像短代码一样利用Woocommerce模板结构。你可以改变你的args到任何你需要的来度过难关