Я использую некоторый код, который показывает скидку на страницах архива Woocommerce для продаваемых продуктов:
add_filter( 'woocommerce_get_price_html', 'display_savings_as_price_and_percentage', 10, 2 );
//add_filter( 'woocommerce_variable_price_html','display_savings_as_price_and_percentage', 10, 2 );
function display_savings_as_price_and_percentage( $price, $product ) {
if( $product->is_on_sale() && ! is_admin() && ! $product->is_type('variable')){
$product_price = (float) $product->get_regular_price();
$sale_price = (float) $product->get_price();
$save_price = wc_price( $product_price - $sale_price );
$save_percentage = round( 100 - ( $sale_price / $product_price * 100 ), 1 ) . '%';
$price .= sprintf( __('<p class="saved-on-sale">Save: %s (%s)</p>', 'woocommerce' ), $save_price, $save_percentage );
}
return $price;
}
Скидка на страницах архивов:
Но это не работает для переменных продуктов , и я пробовал с каждым найденным крючком, но я не могу понять, как заставить его работать с переменными продуктами. (Я закомментировал хук для переменной в моем коде) .
Вот что я хотел бы получить:
Если переменная имеет ценуинтервал 10–20 со скидкой 10–15. Мне бы хотелось, чтобы это отображалось так, чтобы цена по умолчанию была проставлена через:
- $ 40 - $ 50
- $ 20 -$ 30
- Экономия: $ 20 (40-50%)
Как заменить цену товара в продаже на переменные товары суммой экономии и процентами?