: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
if ( $this->query_vars['count'] ) {
return (int) $wpdb->get_var( $this->request );
$network_ids = $wpdb->get_col( $this->request );
return array_map( 'intval', $network_ids );
* Populates found_networks and max_num_pages properties for the current query
* if the limit clause was used.
* @global wpdb $wpdb WordPress database abstraction object.
private function set_found_networks() {
if ( $this->query_vars['number'] && ! $this->query_vars['no_found_rows'] ) {
* Filters the query used to retrieve found network count.
* @param string $found_networks_query SQL query. Default 'SELECT FOUND_ROWS()'.
* @param WP_Network_Query $network_query The `WP_Network_Query` instance.
$found_networks_query = apply_filters( 'found_networks_query', 'SELECT FOUND_ROWS()', $this );
$this->found_networks = (int) $wpdb->get_var( $found_networks_query );
* Used internally to generate an SQL string for searching across multiple columns.
* @global wpdb $wpdb WordPress database abstraction object.
* @param string $search Search string.
* @param string[] $columns Array of columns to search.
* @return string Search SQL.
protected function get_search_sql( $search, $columns ) {
$like = '%' . $wpdb->esc_like( $search ) . '%';
foreach ( $columns as $column ) {
$searches[] = $wpdb->prepare( "$column LIKE %s", $like );
return '(' . implode( ' OR ', $searches ) . ')';
* Parses and sanitizes 'orderby' keys passed to the network query.
* @global wpdb $wpdb WordPress database abstraction object.
* @param string $orderby Alias for the field to order by.
* @return string|false Value to used in the ORDER clause. False otherwise.
protected function parse_orderby( $orderby ) {
if ( 'network__in' === $orderby ) {
$network__in = implode( ',', array_map( 'absint', $this->query_vars['network__in'] ) );
$parsed = "FIELD( {$wpdb->site}.id, $network__in )";
} elseif ( 'domain_length' === $orderby || 'path_length' === $orderby ) {
$field = substr( $orderby, 0, -7 );
$parsed = "CHAR_LENGTH($wpdb->site.$field)";
} elseif ( in_array( $orderby, $allowed_keys, true ) ) {
$parsed = "$wpdb->site.$orderby";
* Parses an 'order' query variable and cast it to 'ASC' or 'DESC' as necessary.
* @param string $order The 'order' query variable.
* @return string The sanitized 'order' query variable.
protected function parse_order( $order ) {
if ( ! is_string( $order ) || empty( $order ) ) {
if ( 'ASC' === strtoupper( $order ) ) {