load($data['filter']['segment']); if (self::shouldSkip($dynamic_segment)) { return $query->whereRaw('0=1'); } foreach ($dynamic_segment->getFilters() as $filter) { $query = $filter->toSql($query); } if (isset($data['group'])) { $query->filter('groupBy', $data['group']); } if (isset($data['search']) && $data['search']) { $query->filter('search', $data['search']); } return $query; } private static function shouldSkip($dynamic_segment) { $requirements_checker = new RequirementsChecker(new WooCommerceHelper()); return $requirements_checker->shouldSkipSegment($dynamic_segment); } }