woocommerce_sale_price_html
鉤已經WooCommerce 3.0+被替換爲不同的鉤,其具有現在3個參數(但不是$product
論點了)。
這裏是一個功能類似的代碼:
// Only for WooCommerce version 3.0+
add_filter('woocommerce_format_sale_price', 'woocommerce_custom_sales_price', 10, 3);
function woocommerce_custom_sales_price($price, $regular_price, $sale_price) {
$percentage = round(($regular_price - $sale_price)/$regular_price * 100).'%';
$percentage_txt = __(' Save ', 'woocommerce').$percentage;
$price = '<del>' . (is_numeric($regular_price) ? wc_price($regular_price) : $regular_price) . '</del> <ins>' . (is_numeric($sale_price) ? wc_price($sale_price) . $percentage_txt : $sale_price . $percentage_txt) . '</ins>';
return $price;
}
此代碼放在你的活躍兒童主題(或主題)的function.php文件或也以任何插件文件。
此代碼測試,只爲WooCommerce 3.0以上版本
更新工程,以避免NAN%
百分比值時經常和銷售價格是HTML預格式化:
add_filter('woocommerce_format_sale_price', 'woocommerce_custom_sales_price', 10, 3);
function woocommerce_custom_sales_price($price, $regular_price, $sale_price) {
// Getting the clean numeric prices (without html and currency)
$regular_price = floatval(strip_tags($regular_price));
$sale_price = floatval(strip_tags($sale_price));
// Percentage calculation and text
$percentage = round(($regular_price - $sale_price)/$regular_price * 100).'%';
$percentage_txt = __(' Save ', 'woocommerce').$percentage;
return '<del>' . wc_price($regular_price) . '</del> <ins>' . wc_price($sale_price) . $percentage_txt . '</ins>';
}
此代碼放在你的活躍兒童主題(或主題)的function.php文件或也以任何插件文件中。
此代碼測試,僅適用於WooCommerce 3.0以上版本(感謝@AsifRao)
真棒,它的工作原理! – decupe
其返回的NAN% –
@LoicTheAztec在我的情況下$ regular_price returrning 65.99 $「不僅僅是正常價格但是這一切的HTML和這就是爲什麼它返回南 –