Добрый день, друзья, буду краток;Я пытаюсь настроить отображение цены товара со скидкой, как показано на следующем рисунке: Пример
Теперь я уже получил несколько кодов и модифицирую их для достижения этого результата.Это работает хорошо в большинстве продуктов, но в переменных продуктах это нечто иное.Переменные продукты с дисконтом перестают работать. В продуктах с вариациями выдает ошибку, когда у вариации есть скидка, продукт перестает работать.Не могли бы вы мне помочь?Я был бы признателен!
Я приложил свой код.
/* Text before and after the discounted price */
add_filter('woocommerce_format_sale_price', 'filter_function_name', 10, 3);
function filter_function_name($price, $regular_price, $sale_price) {
$product = new WC_Product(get_the_ID());
if (!is_admin() && $product->is_type('simple')) {
$regular_price = 'Before: ' . wc_price($regular_price);
$sale_price = 'After: ' . wc_price($sale_price);
$price = $regular_price . ' - ' . $sale_price;
}
return $price;
};
/*---------- Showing the saving message -----------*/
function ts_you_save() {
global $product;
if ($product->is_type('simple') || $product->is_type('external') || $product->is_type('grouped')) {
$regular_price = get_post_meta($product->get_id(), '_regular_price', true);
$sale_price = get_post_meta($product->get_id(), '_sale_price', true);
if (!empty($sale_price)) {
$amount_saved = $regular_price - $sale_price;
$currency_symbol = get_woocommerce_currency_symbol();
$percentage = round((($regular_price - $sale_price) / $regular_price) * 100);
?>
<p style="font-size:24px;color:red;"><b>You Save: <b>$</b><?php echo number_format($amount_saved, 2, '.', '') . " (" . number_format($percentage, 0, '', '') . "%)"; ?></b></p>
<?php
}
}
}
add_action('woocommerce_single_product_summary', 'ts_you_save', 11);
Большое спасибо за ваше время, я жду вашего ответа:)