Using get_sites() in WP 4.6+
It looks like wp_get_sites() will be deprecated in WP 4.6.
The new replacement is:
function get_sites( $args = array() ) {
$query = new WP_Site_Query();
return $query->query( $args );
}
Very similar to get_posts() and WP_Query.
It supports various useful parameters and filters.
Here’s what the inline documentation says about the orderby input parameter:
- Site status or array of statuses.
- Default
id -
Accepts:
iddomainpathnetwork_idlast_updatedregistereddomain_lengthpath_lengthsite__innetwork__in
-
Also accepts the following to disable
ORDER BYclause:false- an empty array
none
The default of the order parameter is DESC.
Example
Here’s an example (untested) how we might try to order public sites by registration date:
$mysites = get_sites(
[
'public' => 1,
'number' => 500,
'orderby' => 'registered',
'order' => 'DESC',
]
);
and returning at max 500 sites.
Update
Thanks to @fostertime for noticing that the boolean value of the public parameter. It’s not supported. It should be 1 not true in the example here above.
I therefore filed a ticket here (#37937) to support boolean strings for the public, archived, mature, spam and deleted attributes in WP_Site_Query.