我正在尝试将我自己的主题与
woocommerce
集成,并使用自定义循环来显示最近产品的轮播。所以我不知道如何分别显示折扣百分比和销售徽章
我正在运行
xampp
服务器
<?php $loop = new WP_Query( array( 'post_type' => 'product', 'posts_per_page' => 12 ) ); ?>
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
<div class="pdp-promo-name" itemprop="name">
-40%
</div>
将此添加到 functions.php
function display_discount_percentage() {
global $product;
if ( ! $product->is_on_sale() ) return;
if ( $product->is_type( 'simple' ) ) {
$max_percentage = ( ( $product->get_regular_price() - $product->get_sale_price() ) / $product->get_regular_price() ) * 100;
} elseif ( $product->is_type( 'variable' ) ) {
$max_percentage = 0;
foreach ( $product->get_children() as $child_id ) {
$variation = wc_get_product( $child_id );
$price = $variation->get_regular_price();
$sale = $variation->get_sale_price();
if ( $price != 0 && ! empty( $sale ) ) $percentage = ( $price - $sale ) / $price * 100;
if ( $percentage > $max_percentage ) {
$max_percentage = $percentage;
}
}
}
if ( $max_percentage > 0 ) echo '<div class="pdp-promo-name" itemprop="name">-' . round($max_percentage) . '%</div>';
}
并在循环中调用 display_discount_percentage() 函数。