创建基于前端的用户搜索

时间:2012-11-02 作者:CSteel

我正在一个需要前端用户搜索的会员网站上工作。我一直在像疯子一样寻找答案,我真的需要一些帮助!虽然有几个插件具有此功能(WordPress成员列表、AMR用户等);他们中没有一个能完全满足我的需要,而且通过查看他们的源代码,将是一个巨大的混乱局面,而且看起来最终可能是徒劳的。我完全意识到我可能需要自己在这里写一些自定义的东西。我需要的逻辑实际上是非常直接和简单的,它需要如何工作。

User search logic goes like:

1. 用户在简单的单个搜索字段中输入另一个用户用户ID#。

2. 提交搜索后,用户将直接访问成员配置文件

是的,用户将通过其用户ID(可以将其视为会员编号)搜索其他用户。这有一个具体的原因,这对网站来说是有意义的。但我不想离开这个话题,只知道这个要求是不能改变的。但我认为这并不重要,因为如果您可以从数据库中的“wp\\u users”表中查询“user\\u nicename”,那么您也应该能够查询“ID”字段?

很明显,我不希望有人向我提供这方面的全部代码,但如果您能给我一些关于如何进行这方面的一般指导(如果可能的话,还可以提供一些示例),那就太好了。出于某种原因,我很难对这件事保持清醒。

谢谢

2 个回复
SO网友:kaiser

由于你还没有提供你所追求的东西的细节,我将试着简单地抓住它们。

使用API-公共WP_User_Query API函数基本上get_user_by() 对你来说应该足够了。假设您启动了表单和输入字段nameuser_id. 所以您只需从$_REQUEST (或$_GET) 然后做一个简单的查询。

$user = get_user_by( \'user_id\', $_REQUEST[\'user_id\'] );
高级任务:元用户查询如果您要执行更复杂的请求(可能只有部分请求可能覆盖多个用户),那么是时候调用get_users(), 这是的默认API包装器new WP_User_Query.

元查询可能如下所示:

$args = array(
    \'meta_key\' => \'custom-usermeta\',
    \'meta_value\' => $cat_id,
    \'meta_compare\' => \'=\'
);
$users = get_users( $args );
如果您需要AJAX搜索功能,只需查看下面的答案 绕开它-没有理由在这里重复它。

我问了一个关于自动完成的问题some time ago 涵盖了最重要的部分。

// jQuery autocomplete - already bundled with WP core
function wpse71343_scripts()
{
    wp_enqueue_script( \'jquery-ui-autocomplete\' );
}
add_action( \'wp_enqueue_scripts\', \'wpse71343_scripts\' );

SO网友:Steve

我认为您需要的WordPress功能是:

获取以下位置的\\u author\\u meta()http://codex.wordpress.org/Function_Reference/get_user_by

结束