Skip to content

Instantly share code, notes, and snippets.

@stephensabatini
Last active November 9, 2020 23:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save stephensabatini/0da47e2722b49d3b07bc4fa65a4fd1d9 to your computer and use it in GitHub Desktop.
Save stephensabatini/0da47e2722b49d3b07bc4fa65a4fd1d9 to your computer and use it in GitHub Desktop.
Filter by Multisite
<?php
/**
* Add multisite filter support for search.
*
* @param array $query
*
* @since 1.0.0
*/
function filter_multisite( $query ) {
if ( ! is_admin() && $query->is_main_query() && $query->is_search() ) {
$filter_multisite = ! empty( $_GET[ 'filter_multisite' ] ) ? (int) $_GET[ 'filter_multisite' ] : '';
$sites = get_sites();
$existing_sites = array();
foreach ($sites as $site) {
$existing_sites[] = (int) $site->blog_id;
}
if ( ! empty( $filter_multisite ) && in_array( $filter_multisite, $existing_sites ) ) {
switch_to_blog( $filter_multisite );
}
}
return $query;
}
add_filter( 'pre_get_posts', 'filter_multisite' );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment