Skip to content

Instantly share code, notes, and snippets.

View AshlinRejo's full-sized avatar
🏠
Working from home

Ashlin AshlinRejo

🏠
Working from home
View GitHub Profile
add_filter('advanced_woo_discount_rules_modify_price_html', function($result, $price_html, $product, $quantity){
// is_page( 'cart' ) -> cart is a page slug
if ( is_page( 'cart' ) || is_cart() ) {
return false;
}
return $result;
}, 10, 4);
@AshlinRejo
AshlinRejo / Discount rules v2: Display only minimum price
Created November 10, 2021 13:29
Discount rules v2: Display only minimum price
add_filter('advanced_woo_discount_rules_strikeout_price_html', function($html, $original_price, $discounted_price, $is_variable_product){
if($is_variable_product){
return "From: " .str_replace("<br>", '&nbsp;', $html);
} else {
return $html;
}
}, 10, 4);
add_filter('advanced_woo_discount_rules_format_sale_price_range', function($html, $min_price, $max_price, $original_html){
return wc_price($min_price);
}, 10, 4);
@AshlinRejo
AshlinRejo / buy-x-get-y-select-auto-add-variant.php
Last active November 8, 2021 06:53
Discount rules v2: Display change the label to dynamic option type instead of "Change variant" in BXGY auto add variant choose option
<?php
/**
* Auto add variation option
*
* This template can be overridden by copying it to yourtheme/woo-discount-rules-pro/buy-x-get-y-select-auto-add-variant.php.
*
*/
if (!defined('ABSPATH')) {
exit; // Exit if accessed directly
}
@AshlinRejo
AshlinRejo / Discount rules v2: Fix for Mini cart doesn't refresh in woodmart
Created November 8, 2021 05:58
Discount rules v2: Fix for Mini cart doesn't refresh in woodmart
if ((isset($_REQUEST['wc-ajax']) && ($_REQUEST['wc-ajax'] == 'add_to_cart' || $_REQUEST['wc-ajax'] == 'remove_from_cart')) || (isset($_REQUEST['action']) && $_REQUEST['action'] == 'woodmart_ajax_add_to_cart')) {
add_action('woocommerce_mini_cart_contents', function (){
if (!WC()->cart->is_empty()){
WC()->cart->calculate_totals();
}
});
}
@AshlinRejo
AshlinRejo / Discount rules v2: Display sale badge percentage if they have default sale price instead of sale override
Created November 5, 2021 07:01
Discount rules v2: Display sale badge percentage if they have default sale price instead of sale override
add_filter('advanced_woo_discount_rules_on_sale_badge_html', function ($html, $post, $_product){
if (strpos($html, 'Sale!') !== false) {
$percentage = 0;
$reg_p = floatval( $_product->get_regular_price() );
$sale_p = floatval( $_product->get_sale_price() );
if ( $reg_p && $sale_p) {
$percentage = - round( ( ( $reg_p - $sale_p ) / $reg_p ) * 100 );
} elseif ( 'variable' == $_product->get_type() && $_product->get_variation_regular_price() && $_product->get_variation_sale_price() ) {
$percentage = - round( ( ( $_product->get_variation_regular_price() - $_product->get_variation_sale_price() ) / $_product->get_variation_regular_price() ) * 100 );
}
@AshlinRejo
AshlinRejo / Discount rule v2: Disable calculate cheapest on cart for product request
Last active November 16, 2022 09:49
Discount rule v2: Disable calculate cheapest on cart for product request
add_filter('advanced_woo_discount_rules_calculate_cheapest_discount', function ($process, $rule, $cart_item, $is_cart){
if(function_exists('is_cart')){
if(is_cart() && !$is_cart){
$process = false;
}
}
return $process;
}, 10, 4);
@AshlinRejo
AshlinRejo / sale-flash.php
Created October 29, 2021 09:20
Discount rules: Theme overide for sale badge
<?php
/**
* Product loop sale flash
*
* @version 1.6.4
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
@AshlinRejo
AshlinRejo / Discount rules v2: Change priority of variable strikeout and display only minimum price
Last active November 10, 2021 13:16
Discount rules v2: Change priority of variable strikeout and display only minimum price
add_action('advanced_woo_discount_rules_after_initialize', function() {
if(class_exists('\Wdr\App\Router')){
remove_filter('woocommerce_variable_price_html', array(\Wdr\App\Router::$manage_discount, 'getVariablePriceHtml'), 100);
add_filter('woocommerce_variable_price_html', array(\Wdr\App\Router::$manage_discount, 'getVariablePriceHtml'), 10000, 2);
}
});
add_filter('advanced_woo_discount_rules_strikeout_price_html', function($html, $original_price, $discounted_price, $is_variable_product){
if($is_variable_product){
return "Fr: " .str_replace("<br>", '&nbsp;', $html);
} else {
@AshlinRejo
AshlinRejo / Discount rules v2: Compatible with Woocommerce Side Cart Premium By XootiX
Created October 29, 2021 06:57
Discount rules v2: Compatible with Woocommerce Side Cart Premium By XootiX - strikeout issue in mini cart
add_action('woocommerce_before_mini_cart', function(){
add_filter('advanced_woo_discount_rules_modify_price_html', function ($do_strikeout){
$do_strikeout = false;
return $do_strikeout;
});
});
add_action('woocommerce_after_mini_cart', function(){
remove_all_filters('advanced_woo_discount_rules_modify_price_html');
});
@AshlinRejo
AshlinRejo / Discount rules v2: Change priority of price strikout for variable products
Created October 28, 2021 13:15
Discount rules v2: Change priority of price strikout for variable products
add_action('advanced_woo_discount_rules_after_initialize', function() {
if(class_exists('\Wdr\App\Router')){
remove_filter('woocommerce_variable_price_html', array(\Wdr\App\Router::$manage_discount, 'getVariablePriceHtml'), 100);
add_filter('woocommerce_variable_price_html', array(\Wdr\App\Router::$manage_discount, 'getVariablePriceHtml'), 1000, 2);
}
});