WooCommerce:无法在循环中获取产品信息

时间:2017-07-03 作者:Charles-François St-Cyr

我正在创建一个使用Woocommerce的自定义主题。在正面我有一个展示第12款最新产品的环。我还为Woocommerce创建了一个自定义模板,但我不能显示一些信息(如价格或图像),但我可以显示标题或永久链接。

这是我的循环(front page.php):

<?php 
  $args = array(
    \'post_type\'=>\'product\',
    \'shortby\'=>\'date\',
    \'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", \'carousel\');
    }
  } else {
    echo \'No products found\';
  }
  wp_reset_postdata();
?>
这是我的模板(content carousel.php):

<div class="item">
  <div class="img"></div>
  <h2><?php the_title(); ?></h2>
  <p>
    <span class="sale-price"><?php echo $product->get_price_html(); ?></span>
    <span class="old-price">Old Price</span>
  </p>
  <a href="<?php the_permalink(); ?>"><div class="button see">More Information</div></a>
  <a href="#!"><div class="button">+ 1</div></a>
</div>
例如,中的价格。销售价格将创建错误,并在之后停止显示其他产品。

什么时候销售价格包含内容.sale-price have content

什么时候销售图片为空enter image description here

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

首先get_price_html() 输出产品价格的html代码。要获得具体的销售价格,请使用get_sale_price() 相反,以及get_price() 以获得正常价格。

使用Chrome web开发工具检查php错误。循环在输出标题后中断,所以我的猜测是在那里查找错误。

结束