使用WP_User_Query进行名字和姓氏搜索
问题描述:
我正在尝试开发一个目录搜索。以下工作正常与姓氏搜索一样。但是,我需要最后和名字一起搜索。我怎样才能做到这一点:使用WP_User_Query进行名字和姓氏搜索
function dispDirectory()
{
global $user_ID;
// Disallow directory if there is a messaging administrator and this person is not it.
if ($this->admin_user_id && $this->admin_user_id != $user_ID) {
return '';
}
$directory = "<form name='form' method='post'><label for='clientname'>Client Name: </label>
<input name='clientname' id='clientname' type='text' style='width: 181px;'
value=''/><input type='submit'></form>";
$clientname= $_POST["clientname"];
$search_string = $clientname;
$args = array(
'meta_key' => 'last_name',
'meta_compare' => 'like',
'meta_value' => $search_string,
);
$wp_user_query = new WP_User_Query($args);
$wp_user_query->query_orderby = str_replace('user_login', 'wp_usermeta.meta_value', $wp_user_query->query_orderby);
$wp_user_query->query();
$users = $wp_user_query->get_results();
foreach($users as $u)
{
$firstName = get_user_meta($u->ID, 'first_name', true);
$lastName = get_user_meta($u->ID, 'last_name', true);
$directory .= '<p><strong>'.$lastName.', '.$firstName.'</strong> - <a href="'.$this->actionURL.'newmessage&to='.$u->ID.'">'.__('Send Message', 'cartpaujpm').'</a></p>';
}
return $directory;
}
答
您可以通过多个中继栏像下面的元搜索查询,
$args = array (
'meta_query' => array(
'relation' => 'OR',
array(
'key' => 'first_name',
'value' => $search_string,
'compare' => 'LIKE'
),
array(
'key' => 'last_name',
'value' => $search_string,
'compare' => 'LIKE'
)
)
);
完美,谢谢。 –
不客气 –