diff --git a/src/wp-includes/ms-blogs.php b/src/wp-includes/ms-blogs.php index a8b2f34fae..346d10afd3 100644 --- a/src/wp-includes/ms-blogs.php +++ b/src/wp-includes/ms-blogs.php @@ -560,6 +560,63 @@ function update_site_cache( &$sites ) { } } +/** + * Retrieves a list of sites matching requested arguments. + * + * @since 4.6.0 + * + * @see WP_Site_Query::parse_query() + * + * @param string|array $args { + * Optional. Array or query string of site query parameters. Default empty. + * + * @type array $site__in Array of site IDs to include. Default empty. + * @type array $site__not_in Array of site IDs to exclude. Default empty. + * @type bool $count Whether to return a site count (true) or array of site objects. + * Default false. + * @type array $date_query Date query clauses to limit sites by. See WP_Date_Query. + * Default null. + * @type string $fields Site fields to return. Accepts 'ids' for site IDs only or empty + * for all fields. Default empty. + * @type int $ID A site ID to only return that site. Default empty. + * @type int $number Maximum number of sites to retrieve. Default null (no limit). + * @type int $offset Number of sites to offset the query. Used to build LIMIT clause. + * Default 0. + * @type bool $no_found_rows Whether to disable the `SQL_CALC_FOUND_ROWS` query. Default true. + * @type string|array $orderby Site status or array of statuses. Accepts 'id', 'domain', 'path', + * 'network_id', 'last_updated', 'registered', 'domain_length', + * 'path_length', 'site__in' and 'network__in'. Also accepts false, + * an empty array, or 'none' to disable `ORDER BY` clause. + * Default 'id'. + * @type string $order How to order retrieved sites. Accepts 'ASC', 'DESC'. Default 'ASC'. + * @type int $network_id Limit results to those affiliated with a given network ID. + * Default current network ID. + * @type array $network__in Array of network IDs to include affiliated sites for. Default empty. + * @type array $network__not_in Array of network IDs to exclude affiliated sites for. Default empty. + * @type string $domain Limit results to those affiliated with a given domain. + * Default empty. + * @type array $domain__in Array of domains to include affiliated sites for. Default empty. + * @type array $domain__not_in Array of domains to exclude affiliated sites for. Default empty. + * @type string $path Limit results to those affiliated with a given path. + * Default empty. + * @type array $path__in Array of paths to include affiliated sites for. Default empty. + * @type array $path__not_in Array of paths to exclude affiliated sites for. Default empty. + * @type int $public Limit results to public sites. Accepts '1' or '0'. Default empty. + * @type int $archived Limit results to archived sites. Accepts '1' or '0'. Default empty. + * @type int $mature Limit results to mature sites. Accepts '1' or '0'. Default empty. + * @type int $spam Limit results to spam sites. Accepts '1' or '0'. Default empty. + * @type int $deleted Limit results to deleted sites. Accepts '1' or '0'. Default empty. + * @type string $search Search term(s) to retrieve matching sites for. Default empty. + * @type bool $update_site_cache Whether to prime the cache for found sites. Default false. + * } + * @return array List of sites. + */ +function get_sites( $args = array() ) { + $query = new WP_Site_Query(); + + return $query->query( $args ); +} + /** * Retrieve option value for a given blog id based on name of option. *