在WordPress中搜索成员

时间:2016-07-26 作者:Richard Jones

我在S2MemberPro中设置了自定义字段,假设它们是:

memberid(成员ID)
电话
推荐人

如果搜索自定义字段,我想搜索自定义字段,如果搜索普通字段,如以下所示:

first\\u name
last\\u name
电子邮件
ID

这些是Wordpress中的普通字段,因此我假设它们位于两个不同的位置。

那么,使用PHP,在我的搜索查询中,我将搜索什么?

我试过这个:

$_searchedWhat = $_REQUEST[\'field\'];
$_searchedFor = $_REQUEST[\'search\'];
echo "Searching the " . $_searchedWhat . " fields for " . $_searchedFor . "...<br />
<br />";
$tusers = get_users( array( "search" => $_searchedFor ) );

// also tried it this way:
$tusers = get_users( array( "$_searchedWhat" => $_searchedFor ) );

// Array of WP_User objects.
foreach ( $tusers as $user ) {
    echo "Id: " . $user->ID . " - Member Username: " . $user->user_login . " - Member Name: " . $user->first_name . " - Member Lastname: " . $user->last_name . " - email: " . $user->user_email . \'<br />\';
}
除非我搜索电子邮件,否则这些都不起作用。如果我搜索电子邮件,第一封有效。

那么,有没有一种方法可以搜索为所有成员存储custom\\u字段的两个表,在我搜索的字段中包含该数据?

我在那里的回应,只是为了测试它。我会让它输出一些有用的东西,我这样做是为了。

1 个回复
SO网友:Krzysztof Grabania

这个插件可能使用的是user\\u meta table。您的查询应如下所示:

$args = array(
    \'meta_key\' => $_searchedWhat,
    \'meta_value\' => $_searchedFor
);

$users = get_users($args);
有关更多信息,请查看文档:get_users

编辑:不幸的是,该插件将所有数据存储到一个字段中,因此您无法按单个字段查询用户。您应该使用custom fields 在岗位或create own meta boxes 输入将分别存储每个字段。