因此,我在主页上有WooCommerce特色产品的代码,它可以正常工作,但问题是,如果价格为空或未定义,我需要它们隐藏销售价格。 这是到目前为止我得到的:
<?php $price = get_post_meta( get_the_ID(), '_regular_price', true ); ?>
<?php $sale = get_post_meta( get_the_ID(), '_sale_price', true ); ?>
<p>
<del>
<span class="amount"><?php echo wc_price($price); ?></span>
</del>
<ins>
<span class="amount"><?php echo wc_price($sale); ?></span>
</ins>
</p>
我需要一个可以检查是否有销售价格并显示的代码:
<p>
<del>
<span class="amount"><?php echo wc_price($price); ?></span>
</del>
<ins>
<span class="amount"><?php echo wc_price($sale); ?></span>
</ins>
</p>
如果未定义销售价格,则仅显示:
<p>
<ins>
<span class="amount"><?php echo wc_price($price); ?></span>
</ins>
</p>
任何人都可以帮助我吗?
答案 0 :(得分:3)
您只需要将其包装在某些条件中即可。这样的事情会起作用:
<p>
<?php if(isset($sale) ):?>
<del>
<span class="amount"><?php echo wc_price($price); ?></span>
</del>
<?php endif;?>
<ins>
<span class="amount"><?php echo isset($sale) ? wc_price($sale) : wc_price($price); ?></span>
</ins>
</p>
最初的if语句检查是否有售价,如果有,它将显示<del></del>
块。
然后在<ins></ins>
块中,使用三元运算符来控制输出哪个价格。
<?php echo isset($sale) ? wc_price($sale) : wc_price($price); ?>
等同于
<?php
if (isset($sale)) {
echo wc_price($sale);
} else {
echo wc_price($price);
}
?>
答案 1 :(得分:1)
$price = get_post_meta( get_the_ID(), '_regular_price', true );
$sale = get_post_meta( get_the_ID(), '_sale_price', true ); ?>
<p>
<?php if( $sale ) { ?>
<del>
<span class="amount"><?php echo wc_price($price); ?></span>
</del>
<ins>
<span class="amount"><?php echo wc_price($sale); ?></span>
</ins>
<?php } else { ?>
<span class="amount"><?php echo wc_price($price); ?></span>
<?php } ?>
</p>
仅检查销售价格就有价值