循环显示一个产品/几个产品由sku在Woocommerce?

时间:2014-03-12 13:19:50

标签: loops woocommerce product

我试图以非常简单的方式在Woocommerce的主页上显示一个或多个特定产品:

  • 产品名称;
  • 产品的简短描述;
  • 产品价格;
  • 数量选择器;
  • 添加到购物车按钮;

现在,我已经创建了一个自定义循环:

<?php
    $args = array(
        'post_type' => 'product',
        'sku' => 'lundivegetarien',
        );
    $loop = new WP_Query( $args );
    if ( $loop->have_posts() ) {
        while ( $loop->have_posts() ) : $loop->the_post();
            echo the_title();
            echo woocommerce_template_single_excerpt();
            echo woocommerce_template_single_price();
            echo woocommerce_template_single_add_to_cart();
        endwhile;
    } else {
        echo __( 'No products found' );
    }
    wp_reset_postdata();
?>

这里的主要问题是这个循环显示我的所有产品,而不管我试图打电话。我想更具体一点,并且能够选择显示一个或多个我特定sku打电话的产品。

我做错了什么?

任何指针?

帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

最终自己解决了问题,我真傻了!只是转向使用类别,它工作得很好!

这里有任何人需要的更新代码!

<?php
    $args = array( 'post_type' => 'product', 'product_cat' => 'name_of_the_category', 'posts_per_page' => 1 );
    $loop = new WP_Query( $args );
    while ( $loop->have_posts() ) : $loop->the_post(); global $product; 
?>

<p>
    <?php 
    the_title(); 
    ?>
</p>

<?php 
    echo woocommerce_template_single_excerpt();
    echo $product->get_price_html();
?>

<div class="order_form close">
    <p>
        <?php 
        woocommerce_template_loop_add_to_cart( $loop->post, $product ); 
        ?>
    </p>
</div>               
<br>
<?php 
endwhile; 
?>

希望这会对某人有所帮助!