在wordpress中使用用户名和用户元搜索用户

时间:2016-11-08 10:46:26

标签: php wordpress

我正在保存wordpress用户,如下所示:

  public void logoutTime() throws Exception {

    Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
        @Override
        public void run() {

            SimpleDateFormat sdf1 = new SimpleDateFormat("HH:mm:ss");
            String time = String.format(sdf1.format(calendar.getTime()));

            Globals.globalClockBean.setLogout_time(time);
            try {
                cd.insert(Globals.globalClockBean);
            } catch (Exception ex) {
                Logger.getLogger(ClockController.class.getName()).log(Level.SEVERE, null, ex);
            }
            System.out.println("Closing: Logged out at yayyyyyyyyy: " + time);

            System.out.println(sdf1.format(calendar.getTime()));
        }

    }));

目前我正在使用'WP_User_Query'方法,其中包含以下参数:

 $user_data = array(
                    'ID' => '',
                    'user_pass' => '',
                    'user_login' => $user_name,
                    'user_email' => $trainer_email,
                    'first_name' => $first_name,
                    'last_name' => $last_name,
                    'role' => 'trainer' 
              );
$random_password = wp_generate_password(8,false);
$user_id = wp_insert_user( $user_data );
update_user_meta( $user_id, 'course_registered',$course_registered );
wp_set_password($random_password, $user_id);

我想通过'用户名'或meta_key'course_registered'来搜索用户,否则两者都是。我试过上面的&也搜索了许多,但没有任何一个工作。有谁可以请帮助我..!

1 个答案:

答案 0 :(得分:0)

请尝试双向,因为我不确定是否正确。

     $args = array(
            'role' => 'trainer',
            'orderby' => 'display_name',
            'posts_per_page' => '3',
            'paged' => $paged,  
            'search'         => '*'.$trainer_name.'*',
            'search_columns' => array( 'user_login'),
            'count_total'    => true,
            'number'        => 5,
            'meta_query' => array(
                    'relation' => 'OR',
                    array(
                        'key'     => 'course_registered',
                        'value'   => $course_name,
                        'compare' => 'LIKE'
                    )
            )
        );
   $wp_user_query = new WP_User_Query($args);

这里只是添加'关系' => ' OR'在元查询中

使用 get_users 方法代替 WP_User_Query

我已经实现了这种类型的搜索,但在这种情况下我不确定所以请一个接一个地尝试。