Title: WP_Site_Query::get_search_sql
Published: August 16, 2016
Last modified: May 20, 2026

---

# WP_Site_Query::get_search_sql( string $search, string[] $columns ): string

## In this article

 * [Parameters](https://developer.wordpress.org/reference/classes/wp_site_query/get_search_sql/?output_format=md#parameters)
 * [Return](https://developer.wordpress.org/reference/classes/wp_site_query/get_search_sql/?output_format=md#return)
 * [Source](https://developer.wordpress.org/reference/classes/wp_site_query/get_search_sql/?output_format=md#source)
 * [Related](https://developer.wordpress.org/reference/classes/wp_site_query/get_search_sql/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/classes/wp_site_query/get_search_sql/?output_format=md#changelog)

[ Back to top](https://developer.wordpress.org/reference/classes/wp_site_query/get_search_sql/?output_format=md#wp--skip-link--target)

Used internally to generate an SQL string for searching across multiple columns.

## 󠀁[Parameters](https://developer.wordpress.org/reference/classes/wp_site_query/get_search_sql/?output_format=md#parameters)󠁿

 `$search`stringrequired

Search string.

`$columns`string[]required

Array of columns to search.

## 󠀁[Return](https://developer.wordpress.org/reference/classes/wp_site_query/get_search_sql/?output_format=md#return)󠁿

 string Search SQL.

## 󠀁[Source](https://developer.wordpress.org/reference/classes/wp_site_query/get_search_sql/?output_format=md#source)󠁿

    ```php
    protected function get_search_sql( $search, $columns ) {
    	global $wpdb;

    	if ( str_contains( $search, '*' ) ) {
    		$like = '%' . implode( '%', array_map( array( $wpdb, 'esc_like' ), explode( '*', $search ) ) ) . '%';
    	} else {
    		$like = '%' . $wpdb->esc_like( $search ) . '%';
    	}

    	$searches = array();
    	foreach ( $columns as $column ) {
    		$searches[] = $wpdb->prepare( "$column LIKE %s", $like );
    	}

    	return '(' . implode( ' OR ', $searches ) . ')';
    }
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-includes/class-wp-site-query.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/7.0/src/wp-includes/class-wp-site-query.php#L762)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-site-query.php#L762-L777)

## 󠀁[Related](https://developer.wordpress.org/reference/classes/wp_site_query/get_search_sql/?output_format=md#related)󠁿

| Uses | Description | 
| [wpdb::esc_like()](https://developer.wordpress.org/reference/classes/wpdb/esc_like/)`wp-includes/class-wpdb.php` |

First half of escaping for `LIKE` special characters `%` and `_` before preparing for SQL.

  | 
| [wpdb::prepare()](https://developer.wordpress.org/reference/classes/wpdb/prepare/)`wp-includes/class-wpdb.php` |

Prepares a SQL query for safe execution.

  |

| Used by | Description | 
| [WP_Site_Query::get_site_ids()](https://developer.wordpress.org/reference/classes/wp_site_query/get_site_ids/)`wp-includes/class-wp-site-query.php` |

Used internally to get a list of site IDs matching the query vars.

  |

## 󠀁[Changelog](https://developer.wordpress.org/reference/classes/wp_site_query/get_search_sql/?output_format=md#changelog)󠁿

| Version | Description | 
| [4.6.0](https://developer.wordpress.org/reference/since/4.6.0/) | Introduced. |

## User Contributed Notes

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fclasses%2Fwp_site_query%2Fget_search_sql%2F)
before being able to contribute a note or feedback.