我正在创建一个搜索框,当输入“名字或全名”时,结果是一个列出user_id,电子邮件,全名等的表格。 ..如何通过在WordPress中搜索用户的全名来获取用户ID
可以有多个用户具有相同的“名字或全名”,因为这将导致我需要循环访问结果集。
搜索也需要灵活,以便John Smith或John Smi或John能够工作。
e.g [名姓] [搜索]
是否有WordPress的一个办法做到这一点还是我必须使用MySQL?
我正在创建一个搜索框,当输入“名字或全名”时,结果是一个列出user_id,电子邮件,全名等的表格。 ..如何通过在WordPress中搜索用户的全名来获取用户ID
可以有多个用户具有相同的“名字或全名”,因为这将导致我需要循环访问结果集。
搜索也需要灵活,以便John Smith或John Smi或John能够工作。
e.g [名姓] [搜索]
是否有WordPress的一个办法做到这一点还是我必须使用MySQL?
如果您正在编写自己的搜索功能,则需要使用Wp_User_Query。你会发现有很多的例子,该页面,但你需要的可能是最基本的形式,像这样:
$users = new WP_User_Query(array(
'search' => '*'.esc_attr($your_search_string).'*',
'search_columns' => array(
'user_login',
'user_nicename',
'user_email',
'user_url',
),
));
$users_found = $users->get_results();
但是,如果你想只在你的后台搜索用户,那么你可能使用插件,那里有很多。 This one作品相当不错你需要什么
感谢,
这是我需要
$search_name = 'John Smith';
$name_array = preg_split("/[\s,]+/", $search_name);
$users = new WP_User_Query(array(
'meta_query' => array(
'relation' => 'AND',
array(
'key' => 'first_name',
'value' => $name_array[0],
'compare' => 'LIKE'
),
array(
'key' => 'last_name',
'value' => $name_array[1],
'compare' => 'LIKE'
)
)
));
$users_found = $users->get_results();