Skip to content

Instantly share code, notes, and snippets.

@sarancartrabbit
sarancartrabbit / Discount rules v2: Remove unwanted js and css files
Last active June 13, 2024 13:06
Discount rules v2: Remove unwanted js and css files
add_action('wp_enqueue_scripts', function(){
if(is_shop()){
wp_dequeue_script('awdr-main');
wp_dequeue_script('awdr-dynamic-price');
}
if(is_shop() && is_single()){
wp_deregister_style('woo_discount_pro_style');
wp_deregister_script('woo_discount_pro_script');
}
@sarancartrabbit
sarancartrabbit / Woo Discount Rules: YITH WooCommerce Product Add-ons & Extra Options compatibility (apply discount only on base price of product)
Created June 5, 2024 07:36
Woo Discount Rules: YITH WooCommerce Product Add-ons & Extra Options compatibility (apply discount only on base price of product)
if (!function_exists('advanced_woo_discount_rules_get_product_item_price')) {
function advanced_woo_discount_rules_get_product_item_price($product_price, $product, $quantity, $cart_item, $calculate_discount_from) {
if (!empty($cart_item) && isset($cart_item['yith_wapo_item_price']) && !empty($cart_item['yith_wapo_item_price'])) {
$product_price = $cart_item['yith_wapo_item_price'];
}
return $product_price;
}
add_filter('advanced_woo_discount_rules_product_original_price_on_before_calculate_discount', 'advanced_woo_discount_rules_get_product_item_price', 100, 5);
add_filter('advanced_woo_discount_rules_product_price_on_before_calculate_discount', 'advanced_woo_discount_rules_get_product_item_price', 100, 5);
}
@sarancartrabbit
sarancartrabbit / Woo Discount Rules: show product price based on woocommerce
Created May 29, 2024 12:36
Woo Discount Rules: show product price based on woocommerce
add_filter('woocommerce_get_price_html', function ($html, $product){
$html ="<div class="price-wrapper"><p class="price product-page-price"><?php echo $html; ?></p></div>";
return $html;
}, 301, 2);
@sarancartrabbit
sarancartrabbit / Woo Discount Rules: Exclude the rule
Last active May 29, 2024 09:30
Woo Discount Rules: Exclude the rule
add_filter('advanced_woo_discount_rules_filter_passed', function ($filter_passed, $rule, $product, $sale_badge, $product_table, $conditionFailed) {
$exclude_rule_id = 1; // here you can add rule id as you want to exclude
if ($exclude_rule_id == 1) {
return false;
}
return $filter_passed;
}, 10, 6);
@sarancartrabbit
sarancartrabbit / Woo Discount Rules: Quantity based get discount details
Created May 21, 2024 12:11
Woo Discount Rules: Quantity based get discount details
add_action('woocommerce_get_price_html', function($html, $product) {
$quantity = 5;
$discount_details = apply_filters('advanced_woo_discount_rules_get_product_discount_details', false, $product, $quantity); // it's product object for 3rd parameters
if ($discount_details !== false) {
print_r($discount_details); // If product has discount get the discount details
}
return $html;
}, 10, 2);
@sarancartrabbit
sarancartrabbit / Woo Discount Rules v2 - set discount calculate issue when wpml
Created May 6, 2024 06:16
Woo Discount Rules v2 - set discount calculate issue when wpml
add_filter('advanced_woo_discount_rules_calculate_current_discount_amount', function($current_discount_amount, $price_discount){
if(!empty($price_discount['discount_rule_type']) && $price_discount['discount_rule_type'] == 'set_discount'){
return $price_discount['discount_value'];
}
return $current_discount_amount;
}, 10, 2);
@sarancartrabbit
sarancartrabbit / Discount rules v2: Disable auto add after update an cart item manually for BXGX
Created April 25, 2024 05:17
Discount rules v2: Disable auto add after update an cart item manually for BXGX
add_filter('advanced_woo_discount_rules_calculate_discount_for_cart_item', '__return_false');
@sarancartrabbit
sarancartrabbit / Woo Discount v2:To Refresh Add to cart button
Last active April 23, 2024 06:37
Woo Discount v2:To Refresh Add to cart button
add_action('wp_footer', function () {
?>
<script>
jQuery(function($) {
$(document).on("click", ".ajax_add_to_cart", function() {
location.reload();
});
});
</script>
<?php
@sarancartrabbit
sarancartrabbit / Woo Discount Rules: Remove cross sell product when add the y product in cart item
Last active April 18, 2024 12:41
Woo Discount Rules: Remove cross sell product when add the y product in cart item
add_action('woocommerce_before_cart', function () {
if (class_exists('\WDR\App\Controllers\DiscountCalculator') && class_exists('\WDRPro\App\Rules\Cheapest')) {
$cart = WC()->cart;
$cart_items = $cart->get_cart();
$applied_rules = \WDR\App\Controllers\DiscountCalculator::$applied_rules;
if (!empty($applied_rules)) {
$product_count = 0;
foreach ($applied_rules as $applied_rule) {
if ($applied_rule->rule->discount_type == 'wdr_buy_x_get_y_discount') {
foreach ($cart_items as $cart_item_key => $cart_item) {
@sarancartrabbit
sarancartrabbit / Woo Discount Rules: Exclude discount for the backorder product
Created April 18, 2024 09:31
Woo Discount Rules: Exclude discount for the backorder product
add_filter('advanced_woo_discount_rules_filter_passed', function ($filter_passed, $rule, $product, $sale_badge, $product_table, $conditionFailed) {
if(is_object($product) && method_exists($product, 'is_on_backorder')){
if($product->is_on_backorder()){
return false;
}
}
return $filter_passed;
}, 10, 6);