To show rule tile in sale badge
Display the discount rule title on sale badges.
// It helps to use {{title}} shortcode in Sale badge percentage content and it will replaced as rule title
add_filter('advanced_woo_discount_rules_on_sale_badge_html', function($html, $post, $product) {
if (strpos($html, '{{title}}') !== false && is_object($product) && method_exists($product, 'get_price')) {
$discount = apply_filters('advanced_woo_discount_rules_get_product_discount_price_from_custom_price', false, $product, 1, $product->get_price(), 'all', true, false);
if ($discount !== false && isset($discount['total_discount_details']) && !empty($discount['total_discount_details'])) {
$rule_id = array_key_first($discount['total_discount_details']);
if (class_exists('Wdr\App\Controllers\ManageDiscount') && !empty(\Wdr\App\Controllers\ManageDiscount::$available_rules)) {
if (is_object(\Wdr\App\Controllers\ManageDiscount::$available_rules[$rule_id])) {
$title = \Wdr\App\Controllers\ManageDiscount::$available_rules[$rule_id]->getTitle();
$html = str_replace('{{title}}', $title, $html);
}
}
}
}
return $html;
}, 10, 3);