如何在单个产品和循环页面中显示常规价格和销售价格?

时间:2017-11-13 00:24:37

标签: php wordpress woocommerce hook-woocommerce price

我在我的孩子主题的function.php中有这个代码来显示常规价格和促销价格,它在WooCommerce v2.6.14中运行良好。

但是这个代码片段在WooCommerce版本3.2.3上不再起作用。

我该如何解决?

以下是代码:

add_filter( 'woocommerce_sale_price_html', 'woocommerce_custom_sales_price', 10, 2 );
function woocommerce_custom_sales_price( $price, $product ) {
$saved = wc_price( $product->regular_price - $product->sale_price );
return $price . sprintf( __('<p>Save %s</p>', 'woocommerce' ), $saved );
}

感谢无论谁帮助我!

1 个答案:

答案 0 :(得分:2)

过滤器woocommerce_sale_price_html不再存在,而是使用woocommerce_get_price_html。无论销售的商品是什么,这都适用于所有商品,因此您需要检查产品是否在您的代码中有售。

add_filter( 'woocommerce_get_price_html', 'modify_woocommerce_get_price_html', 10, 2 );

function modify_woocommerce_get_price_html( $price, $product ) {
    if( $product->is_on_sale() && ! is_admin() )
        return $price . sprintf( __('<p>Save %s</p>', 'woocommerce' ), $product->regular_price - $product->sale_price );
    else
        return $price;
}