在自定义模板中显示 WooCommerce 产品价格(有折扣)

Display the WooCommerce product price (with discount) in a custom template

我需要在特定模板中显示产品。

模板代码如下:

<div class="searchproduct">
    <div class="searchsingle">
        <?php the_post_thumbnail( 'medium_large' ); ?>
        <h2 class="woocommerce-loop-product__title"><?php echo esc_html( get_the_title() ); ?></h2>
        <div class="price"><span class="woocommerce-Price-amount amount"><?php echo $product->get_price(); ?><span class="woocommerce-Price-currencySymbol"> €</span></span></div>
        <a href="<?php the_permalink(); ?>">
            <div class="button">Ajouter au panier</div>
        </a>
    </div>
</div>

我想显示价格(有折扣)和旧价格。

<?php echo $product->get_price(); ?>

如何更改此变量?

只需使用 WC_Product 方法 get_price_html() 如:

<div class="searchproduct">
    <div class="searchsingle">
        <?php the_post_thumbnail( 'medium_large' ); ?>
        <h2 class="woocommerce-loop-product__title"><?php echo esc_html( get_the_title() ); ?></h2>
        <div class="price"><?php echo $product->get_price_html(); ?></div>
        <a href="<?php the_permalink(); ?>">
            <div class="button"><?php _e("Ajouter au panier", 'woocommerce'); ?</div>
        </a>
    </div>
</div>

或者如果您在产品促销时只想要一种格式的价格,您将使用:

<div class="searchproduct">
    <div class="searchsingle">
        <?php the_post_thumbnail( 'medium_large' ); ?>
        <h2 class="woocommerce-loop-product__title"><?php echo esc_html( get_the_title() ); ?></h2>
        <div class="price"><?php wc_price( wc_get_price_to_display($product) ); ?></div>
        <a href="<?php the_permalink(); ?>">
            <div class="button"><?php _e("Ajouter au panier", 'woocommerce'); ?</div>
        </a>
    </div>
</div>