getCurrentUserRule( $product ); if ( ! $roleBasedRule ) { return $pricingRule; } $pricingRule->setType( $roleBasedRule->getTieredPricingType() ); $pricingRule->setRules( $roleBasedRule->getTieredPricingRules() ); $pricingRule->setMinimum( $roleBasedRule->getMinimumOrderQuantity() ); $pricingRule->pricingData['pricing_type'] = $roleBasedRule->getPricingType(); $pricingRule->pricingData['regular_price'] = $roleBasedRule->getRegularPrice(); $pricingRule->pricingData['sale_price'] = $roleBasedRule->getSalePrice(); $pricingRule->pricingData['discount'] = $roleBasedRule->getDiscount(); $pricingRule->pricingData['discount_type'] = $roleBasedRule->getDiscountType(); $pricingRule->pricingData['tax_status'] = $roleBasedRule->getTaxStatus(); $pricingRule->pricingData['tax_class'] = $roleBasedRule->getTaxClass(); $pricingRule->provider = 'role-based'; $pricingRule->providerData['role'] = $roleBasedRule->getRole(); $pricingRule->logPricingModification( '[role-based]: Pricing rule is overridden by the rule for: ' . $roleBasedRule->getRole() ); do_action( 'tiered_pricing_table/role_based_pricing/after_adjusting_pricing_rule', $pricingRule, $roleBasedRule, $productId ); return $pricingRule; } }