woocommerce(如何在自定义循环中显示折扣)

【woocommerce(如何在自定义循环中显示折扣)】我正在尝试将自己的主题与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>

#1将此添加到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()函数。

    推荐阅读