Title: WP_User_Query::get_search_sql
Published: April 25, 2014
Last modified: August 20, 2026

---

# WP_User_Query::get_search_sql( string $search, string[] $columns, bool $wild = false ): string

## In this article

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

[ Back to top](https://developer.wordpress.org/reference/classes/wp_user_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_user_query/get_search_sql/?output_format=md#parameters)󠁿

 `$search`stringrequired

Search string.

`$columns`string[]required

Array of columns to search.

`$wild`booloptional

Whether to allow wildcard searches. Default is false for Network Admin, true for
single site.
 Single site allows leading and trailing wildcards, Network Admin only
trailing.

Default:`false`

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

 string

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

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

    	$searches      = array();
    	$leading_wild  = ( 'leading' === $wild || 'both' === $wild ) ? '%' : '';
    	$trailing_wild = ( 'trailing' === $wild || 'both' === $wild ) ? '%' : '';
    	$like          = $leading_wild . $wpdb->esc_like( $search ) . $trailing_wild;

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

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

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

## 󠀁[Related](https://developer.wordpress.org/reference/classes/wp_user_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_User_Query::__call()](https://developer.wordpress.org/reference/classes/wp_user_query/__call/)`wp-includes/class-wp-user-query.php` |

Makes private/protected methods readable for backward compatibility.

  | 
| [WP_User_Query::prepare_query()](https://developer.wordpress.org/reference/classes/wp_user_query/prepare_query/)`wp-includes/class-wp-user-query.php` |

Prepares the query variables.

  |

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

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

## User Contributed Notes

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