我试图在使用WooCommerce的网站中添加一个折扣百分比。
我已将此脚本应用于标准价格和销售价格:
// Add save percentage next to sale item prices.
add_filter( 'woocommerce_get_price_html', 'adventure_tours_sales_price', 10, 2 );
function adventure_tours_sales_price( $price, $product ){
$percentage = round( ( ( $product->regular_price - $product->sale_price ) / $product->regular_price ) * 100 );
return $price . sprintf( __(' Save %s', 'woocommerce' ), $percentage . '%' );
}
上面的脚本可以正常工作。
在前端,我有价格百分比。
现在,我想将相同的脚本应用于产品变化价格。
我已经检查了产品变化选项,并尝试了如下操作:
// Add save percentage next to sale item prices.
add_filter( 'woocommerce_get_price_html', 'adventure_tours_sales_price', 10, 2 );
function adventure_tours_sales_price( $price, $product ){
if( $product->is_type( 'variable' ) ) {
$percentage = round( ( ( $product->regular_price - $product->sale_price ) / $product->regular_price ) * 100 );
return $price . sprintf( __(' Save %s', 'woocommerce' ), $percentage . '%' );
}else{
$percentage = round( ( ( $product->regular_price - $product->sale_price ) / $product->regular_price ) * 100 );
return $price . sprintf( __(' Save %s', 'woocommerce' ), $percentage . '%' );
}
}
但它不起作用,百分比不适用于价格。
也不是在前端。
1条答案
按热度按时间h43kikqp1#
WooCommerce版本3+更新|不建议使用的替代品
WC_Product
价格属性替换为WC_Product
价格方法对于可变产品是更复杂的,因为你有2个不同的位置与价格,第一个显示最低和最高价格(当你有多个变化),第二个显示从选定的变化价格。我已经改变了很多你原来的代码。
下面是正确的代码来显示自定义动态标签周围的折扣百分比:
测试和工程Woocommerce版本3+
相关答案: