Load discount table price based on selected variant

Load discount table price based on selected variant.

add_filter('advanced_woo_discount_rules_bulk_table_product_price', function($product_price, $product, $calculate_discount_from, $hasFilter, $filters){
	if ($hasFilter && class_exists('\Wdr\App\Helpers\Woocommerce')) {
		$is_variable_product = \Wdr\App\Helpers\Woocommerce::productTypeIs($product, 'variable');
		if ($is_variable_product) {
			foreach ($filters as $filter_val) {
				$filter_type = isset($filter_val->type) ? $filter_val->type : '';
				$filter_method = isset($filter_val->method) ? $filter_val->method : '';
				$filter_value = isset($filter_val->value) ? $filter_val->value : '';
				$filter_product_variants = isset($filter_val->product_variants) ? $filter_val->product_variants : '';
				if ($filter_type == 'products' && $filter_method == 'in_list') {
					if (method_exists($product, 'get_available_variations')){
						$available_variations = $product->get_available_variations();
					}else{
						$available_variations = array();
					}
					$variation_ids = array();
					if(!empty($available_variations) && is_array($available_variations)){
						foreach ($available_variations as $variation){
							$variation_id =  isset($variation['variation_id']) ? $variation['variation_id'] : 0;
							$variation_ids[] = $variation_id;
							$variation_price[$variation_id]['display_price']=isset($variation['display_price']) ? $variation['display_price'] : 0;
							$variation_price[$variation_id]['display_regular_price']=isset($variation['display_regular_price']) ? $variation['display_regular_price'] : 0;
						}
						$compare_variant = (!empty($variation_ids)) ? array_intersect($variation_ids, $filter_value) : array();
						if(is_array($compare_variant) && !empty($compare_variant)){
							foreach ($compare_variant as $result_val){
								if ($calculate_discount_from == 'regular_price') {
									$product_price = isset($variation_price[$result_val]['display_regular_price']) ? $variation_price[$result_val]['display_regular_price'] : 0;
								}else{
									$product_price = isset($variation_price[$result_val]['display_price']) ? $variation_price[$result_val]['display_price'] : 0;
								}
								break;
							}
						}
					}
				}
			}
		}
	}
	return $product_price;
},10, 5);