*/ public static function get(): array { return Core::instance()->getSettingsManager()->getProvider()->get()->queries; } public static function getBySlug( string $slug ): ?QueryDTO { $queries = self::get(); $queries = array_values( array_filter( $queries, function( QueryDTO $q ) use ( $slug ) { return $q->slug === $slug; } ) ); if ( ! empty( $queries ) ) { return $queries[0]; } return null; } /** * Return a list of all defined queries from a set of saved settings. * * @since 1.0.0 * @return array */ public static function getFromSettings( ?array $savedQueries ): array { $queries = array(); $queries[] = self::default(); if ( $savedQueries ) { foreach ( $savedQueries as $query ) { $queries[] = QueryDTO::fromSettings( $query ); } } return $queries; } /** * Build the query string. * * @since 1.0.0 * @param string $query The original query string. * @return string */ public static function build( string $query ): string { if ( $query && ! str_starts_with( $query, '@media' ) ) { $query = '@media ' . $query; } return $query; } }