wppaste
WordPress

WP_User_Search::prepare_query()

Since
2.1.0
Source
wp-admin/includes/deprecated.php:531
Prepares the user search query (legacy).

Hooks fired · 1

One hook fires while WP_User_Search::prepare_query() runs, in this order:

  1. do_action( pre_user_search )actionline 560 (+29 into the body)

Uses · 3

  • like_escape()Formerly used to escape strings before searching the DB. It was poorly documented and never worked as described.
  • is_multisite()Determines whether Multisite is enabled.
  • do_action_ref_array()Calls the callback functions that have been added to an action hook, specifying arguments in an array.

Used by · 1

Source

	public function prepare_query() {		global $wpdb;		$this->first_user = ($this->page - 1) * $this->users_per_page; 		$this->query_limit = $wpdb->prepare(" LIMIT %d, %d", $this->first_user, $this->users_per_page);		$this->query_orderby = ' ORDER BY user_login'; 		$search_sql = '';		if ( $this->search_term ) {			$searches = array();			$search_sql = 'AND (';			foreach ( array('user_login', 'user_nicename', 'user_email', 'user_url', 'display_name') as $col )				$searches[] = $wpdb->prepare( $col . ' LIKE %s', '%' . like_escape($this->search_term) . '%' );			$search_sql .= implode(' OR ', $searches);			$search_sql .= ')';		} 		$this->query_from = " FROM $wpdb->users";		$this->query_where = " WHERE 1=1 $search_sql"; 		if ( $this->role ) {			$this->query_from .= " INNER JOIN $wpdb->usermeta ON $wpdb->users.ID = $wpdb->usermeta.user_id";			$this->query_where .= $wpdb->prepare(" AND $wpdb->usermeta.meta_key = '{$wpdb->prefix}capabilities' AND $wpdb->usermeta.meta_value LIKE %s", '%' . $this->role . '%');		} elseif ( is_multisite() ) {			$level_key = $wpdb->prefix . 'capabilities'; // WPMU site admins don't have user_levels.			$this->query_from .= ", $wpdb->usermeta";			$this->query_where .= " AND $wpdb->users.ID = $wpdb->usermeta.user_id AND meta_key = '{$level_key}'";		} 		do_action_ref_array( 'pre_user_search', array( &$this ) );	}

History

Introduced in 2.1.0. Unchanged from 6.7.7 through 7.1.0.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 7.1.0

Signature, return type and hooks compared across 5 parsed releases.

About this page

Parsed data
Generated from the wordpress-develop 6.9.7 tag, from src/wp-admin/includes/deprecated.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.
Corrections
Something wrong on this page? Report it and it gets fixed in the next regeneration.