WP_查询多个发布结果

时间:2017-12-06 作者:user214500

我正在使用WooCommerce和Wordpress。我试图返回一个类别中的所有项目,但是,根据我有多少项目,我会返回多个结果。

当我只有两张t恤图片时,每张图片会显示两次。一旦我添加了第三件衬衫,它会显示每件衬衫3次。我的代码是:

        $args = array( 
            \'post_type\' => \'product\', 
            \'stock\' => 1, 
            \'posts_per_page\' => 9,
            \'product_cat\' => $pagename, 
        );

        $loop = new WP_Query( $args );
        while ( $loop->have_posts() ) : $loop->the_post();
            foreach ( $loop->posts as $p ) {
                $products = new WC_Product($p->ID);

                echo "<div class=\'col-md-4\'>";
                the_post_thumbnail();
                echo "</div>";

                wp_reset_query();    
            }
        endwhile; 
    ?>
我试过移动wp_reset_query() 到多个地方(即在foreach循环中),但我得到的最好结果是一个有适当照片的div,然后是一些空白div。使用时var_dump(), 看起来可能是新的WP_Query($args) 它本身

我以前使用过wp_reset_postdata() 并已切换到wp_reset_query() 由于在这里发现了一些结果,但它没有帮助。

提前谢谢。

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

您的循环是错误的,您不应该在while中使用foreach,只需使用您的循环变量在本例中添加经典的the\\u post()

例如

<?php 
    $args = array( 
        \'post_type\' => \'product\', 
        \'stock\' => 1, 
        \'posts_per_page\' => 9,
        \'product_cat\' => $pagename, 
    );

    $loop = new WP_Query( $args );

    while($loop->have_posts()){
        $loop->the_post();
        ?>
        <div class="col-md-4">
            <?php the_post_thumbnail(); ?>
        </div>
        <?php
    }
?>

结束