AND Conditional Filter Pass (for Attributes and Onsale combination)

Implement conditional filter for attributes and on-sale status combinations.

// Return filter passed true, only if all the product attributes and onsale filters are passed
add_filter('advanced_woo_discount_rules_filter_passed', function ($filter_passed, $rule, $product, $sale_badge, $product_table, $conditionFailed) {
    if (method_exists($rule, 'getFilter')) {
        $filters = $rule->getFilter();
        if ($filter_passed && !empty($filters) && class_exists('\Wdr\App\Helpers\Filter')) {
            $filter_helper = new \Wdr\App\Helpers\Filter();
            foreach ($filters as $filter) {
                if (in_array($filter->type, array('product_attributes', 'product_on_sale'))) {
                    $filter_piece = (object) array($filter);
                    $custom_filter_passed = $filter_helper->matchFilters($product, $filter_piece, $sale_badge, $product_table);
                    if ($custom_filter_passed === false) {
                        return false;
                    }
                }
            }
        }
    }
    return $filter_passed;
}, 10, 6);