我在我的孩子主题的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 );
}
感谢无论谁帮助我!
答案 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;
}