Skip to content

Instantly share code, notes, and snippets.

@sarancartrabbit
sarancartrabbit / Discount rules v2: Customization - Remove zero coupon
Last active March 19, 2024 10:29
Discount rules v2: Customization - Remove zero coupon
add_action('woocommerce_before_cart', function(){
if(class_exists('\Wdr\App\Router') && class_exists('\Wdr\App\Controllers\DiscountCalculator') && class_exists('\Wdr\App\Helpers\Woocommerce')){
$manage_discount = \Wdr\App\Router::$manage_discount;
$calculator = $manage_discount::$calculator;
$used_coupons = $calculator::getUsedCoupons();
$applied_coupons = \Wdr\App\Helpers\Woocommerce::getAppliedCoupons();
foreach ($applied_coupons as $applied_coupon) {
if (in_array($applied_coupon,$used_coupons)) {
$coupon = new WC_Coupon($applied_coupon);
// Check if the coupon has zero value
@sarancartrabbit
sarancartrabbit / Woo Discount Rules: Product stock based show the discount bar
Created March 13, 2024 10:44
Woo Discount Rules: Product stock based show the discount bar
add_filter('advanced_woo_discount_rules_advance_table_based_on_rule', function ($advanced_layout, $rule, $discount_calculator, $product, $product_price, $html_content){
// Check if the product is a variable product
if ( $product->is_type( 'variable' ) ) {
// Loop through each variation
foreach ( $product->get_children() as $variation_id ) {
$variation = wc_get_product( $variation_id );
if ( ! $variation->is_in_stock() ) {
$advanced_layout = [];
break;
@sarancartrabbit
sarancartrabbit / Woo Discount Rules: Remove the coupon customize and applied message
Created March 13, 2024 06:10
Woo Discount Rules: Remove the coupon customize and applied message
add_action('woocommerce_before_cart', function(){
if(class_exists('\Wdr\App\Router') && class_exists('\Wdr\App\Controllers\DiscountCalculator') && class_exists('\Wdr\App\Helpers\Woocommerce')){
$manage_discount = \Wdr\App\Router::$manage_discount;
$applied_rules = \Wdr\App\Controllers\DiscountCalculator::$applied_rules;
foreach ($applied_rules as $rule) {
if($rule->rule->exclusive == 1){
$applied_coupons = \Wdr\App\Helpers\Woocommerce::getAppliedCoupons();
$exclude_coupons = ['shipfree']; //You can add the coupons here (with comma separate)
foreach ($applied_coupons as $applied_coupon) {
if (in_array($applied_coupon,$exclude_coupons)) {
@sarancartrabbit
sarancartrabbit / Woo Discount Rules: Show Discount bar only on stock product for product page
Created March 11, 2024 07:38
Woo Discount Rules: Show Discount bar only on stock product for product page
add_filter('advanced_woo_discount_rules_advance_table_based_on_rule', function ($advanced_layout, $rule, $discount_calculator, $product, $product_price, $html_content){
if(!$product->is_in_stock()){
$advanced_layout = [];
}
return $advanced_layout;
},10,6);
@sarancartrabbit
sarancartrabbit / Woo Discount Rules: Show only discount price
Created March 5, 2024 12:24
Woo Discount Rules: Show only discount price
add_filter('advanced_woo_discount_rules_strikeout_price_html', function ($html, $original_price, $discounted_price, $is_variable_product, $initial_price_html, $separator) {
if ($original_price != $discounted_price){
$html = '<ins>' . $discounted_price . '</ins>';
}
return $html;
},10,6);
@sarancartrabbit
sarancartrabbit / Discount rules v2: remove the draft order status
Created February 27, 2024 08:33
Discount rules v2: Remove the draft order status
add_filter('advanced_woo_discount_rules_check_purchase_first_order_status', function ($order_statuses) {
unset($order_statuses['wc-checkout-draft']);
return $order_statuses;
},10,1);
@sarancartrabbit
sarancartrabbit / Woo Discount Rules v2 - Check customized coupon based disable the discount rule
Created February 20, 2024 11:04
Woo Discount Rules v2 - Check customized coupon based disable the discount rule
add_filter('advanced_woo_discount_rules_filter_passed', function($filter_passed, $rule, $product, $sale_badge){
$coupon_applied = in_array('your_coupon_code', WC()->cart->get_applied_coupons());
//'array(1,2)' - give rule id as you needed
if(in_array($rule->getId(), array(1, 2)) && $coupon_applied){
// Add your additional condition here if required
// Your custom logics enter here and return true or false
// true -> Run rule
// false -> Do not run rule
return true;
@sarancartrabbit
sarancartrabbit / Woo Discount Rules: Discount Apply Only Base Price Compatibility for Advanced Product Fields Pro for WooCommerce by StudioWombat
Created February 20, 2024 10:44
Woo Discount Rules: Discount Apply Only Base Price Compatibility for Advanced Product Fields Pro for WooCommerce by StudioWombat
add_action('advanced_woo_discount_rules_after_initialize', function() {
if(class_exists('\Wdr\App\Router')){
remove_action('woocommerce_before_calculate_totals', array(\Wdr\App\Router::$manage_discount, 'applyCartProductDiscount'), 1000);
add_action('woocommerce_before_calculate_totals', array(\Wdr\App\Router::$manage_discount, 'applyCartProductDiscount'), 10000);
}
});
add_action('plugins_loaded', function() {
if(class_exists('\Wdr\App\Router')){
remove_all_filters('advanced_woo_discount_rules_cart_strikeout_price_html');
@sarancartrabbit
sarancartrabbit / Woo Discount Rules: Remove the you saved text for admin order page
Created February 16, 2024 12:25
Woo Discount Rules: Remove the you saved text for admin order page
add_action('admin_footer', function() {
?>
<style>
.wc-orders-list-table span .awdr-you-saved-text {
display: none !important;
}
</style>
<?php
});
@sarancartrabbit
sarancartrabbit / Woo Discount Rules v3: Add woocommerce coupon value for you saved text
Last active March 11, 2024 05:32
Woo Discount Rules v3: Add woo-commerce coupon value for you saved text
// Cart page add the woocommerce you saved amount
add_filter('wdr_add_woocommerce_amount_saved_text', '__return_true');
// Thankyou and Order page add the woocommerce you saved text
add_filter('wdr_add_woocommerce_amount_saved_text_order_page', '__return_true');