VOOZH about

URL: https://developer.wordpress.org/reference/classes/wp_user_query/get_search_sql/

⇱ WP_User_Query::get_search_sql() – Method | Developer.WordPress.org


Skip to content

WordPress Developer Resources

WP_User_Query::get_search_sql()

HomeReferenceClassesWP_User_QueryWP_User_Query::get_search_sql()

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

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

Parameters

$searchstringrequired
Search string.
$columnsstring[]required
Array of columns to search.
$wildbooloptional
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

string

Source

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 View on Trac View on GitHub

Related

UsesDescription
wpdb::esc_like()wp-includes/class-wpdb.php

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

wpdb::prepare()wp-includes/class-wpdb.php

Prepares a SQL query for safe execution.

Used byDescription
WP_User_Query::__call()wp-includes/class-wp-user-query.php

Makes private/protected methods readable for backward compatibility.

WP_User_Query::prepare_query()wp-includes/class-wp-user-query.php

Prepares the query variables.

Changelog

VersionDescription
3.1.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.