WP_Site_Query::get_search_sql()protectedWP 4.6.0

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

Method of the class: WP_Site_Query{}

No Hooks.

Return

String. Search SQL.

Usage

// protected - for code of main (parent) or child class
$result = $this->get_search_sql( $search, $columns );
$search(string) (required)
Search string.
$columns(string[]) (required)
Array of columns to search.

Notes

  • Global. wpdb. $wpdb WordPress database abstraction object.

Changelog

Since 4.6.0 Introduced.

WP_Site_Query::get_search_sql() code WP 6.5.2

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 ) . ')';
}