如果我的WP_Query产品循环中存在当前价格和销售价格,我希望能够显示它。目前,我的代码只是将当前价格替换为销售价格。我想要一个if语句,用于检查是否存在销售价格。如果要同时显示两者;
这是我的代码;
<?php
$args = array(
'post_type' => 'product',
'meta_key' => 'total_sales',
'orderby' => 'meta_value_num',
'posts_per_page' => 4,
);
$query = new WP_Query( $args );
?>
<?php if($query->have_posts()): ?>
<div class="container" id="best_sellers">
<div class="row">
<?php while( $query->have_posts() ): $query->the_post(); ?>
<?php $product = wc_get_product(get_the_ID());?>
<div class="col-md-3">
<div class="cont">
<a href="<?php the_permalink(); ?>">
<div class="image_cont">
<?php the_post_thumbnail(); ?>
</div>
<p class="sku"><?php echo $product->get_sku(); ?></p>
<p class="title"><?php the_title(); ?></p>
</a>
<div class="quantity">
<p>Quantity: </p>
<button class="increment">+</button>
<input type="text" value="1" min="1" max="<?php echo $product->get_stock_quantity(); ?>">
<button class="decrement">-</button>
</div>
<p class="price"><?php echo wc_price( wc_get_price_including_tax( $product ) ); ?></p>
<a href="<?php echo $product->add_to_cart_url();?>" data-quantity="1" class="basket_btn button product_type_simple add_to_cart_button ajax_add_to_cart" data-product_id="<?php the_id(); ?>" data-product_sku="<?php echo $product->get_sku(); ?>" aria-label="Add “<?php the_title(); ?>” to your cart" rel="nofollow">Add to Basket</a>
</div>
</div>
<?php endwhile; ?>
</div>
</div>
<?php endif; ?>
如果您查看价格类别,可以看到我的获取价格的代码。
更新:我一直在浏览WooCommerce模板文件并找到它;
<?php if ( $product->is_on_sale() ) : ?>
这行得通,我现在只需要能够同时获取两个价格
<?php echo wc_price( wc_get_price_including_tax( $product ) ); ?>
只是被销售价格覆盖
答案 0 :(得分:0)
您是指正常价格和销售价格吗?
您可以使用以下代码,但这仅适用于简单产品,不适用于产品变体。
global $product;
if( $product->is_on_sale() ) {
$sale_price = $product->get_sale_price();
}
$regular_price = $product->get_regular_price();
答案 1 :(得分:0)
我设法找到了
<?php echo $product->get_price_html(); ?>
它可以执行我想做的所有事情,而无需发出if语句