【问题标题】:How to get a user id by searching the user's full name in WordPress如何通过在WordPress中搜索用户的全名来获取用户ID
【发布时间】:2014-08-27 23:21:35
【问题描述】:

我正在创建一个搜索框,当输入“名字或全名”时,结果是一个列出用户 ID、电子邮件、全名等的表格......

可能有多个用户具有相同的“名字或全名”,因此我需要遍历结果集。

搜索还需要灵活,以便 John Smith 或 John Smi 或 John 能够工作。

例如 [名姓] [搜索]

在 WordPress 中有没有办法做到这一点,还是我必须使用 MySQL?

【问题讨论】:

    标签: wordpress search built-in


    【解决方案1】:

    谢谢,

    这是我需要的

    $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();
    

    【讨论】:

      【解决方案2】:

      如果您正在编写自己的搜索功能,则需要使用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 可以很好地满足您的需求

      【讨论】:

        猜你喜欢
        • 2022-01-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-01-20
        • 2019-08-22
        • 1970-01-01
        • 2016-08-11
        • 1970-01-01
        相关资源
        最近更新 更多