2016-12-04 5 views
0

私はディレクトリ検索を開発しようとしています。次のように、姓の検索はうまく動作します。しかし、私は一緒に検索するために最後と名前が必要です。どのように私はそれを起こらせることができます。WP_User_Queryを使用した姓名検索

function dispDirectory() 
{ 
    global $user_ID; 

    // Disallow directory if there is a messaging administrator and this person is not it. 
    if ($this->admin_user_id && $this->admin_user_id != $user_ID) { 
    return ''; 
    } 

    $directory = "<form name='form' method='post'><label for='clientname'>Client Name: </label> 
    <input name='clientname' id='clientname' type='text' style='width: 181px;' 
    value=''/><input type='submit'></form>"; 

    $clientname= $_POST["clientname"]; 

    $search_string = $clientname; 

    $args = array(
     'meta_key' => 'last_name', 
     'meta_compare' => 'like', 
     'meta_value' => $search_string, 
    ); 

    $wp_user_query = new WP_User_Query($args); 
    $wp_user_query->query_orderby = str_replace('user_login', 'wp_usermeta.meta_value', $wp_user_query->query_orderby); 
    $wp_user_query->query(); 

    $users = $wp_user_query->get_results(); 


    foreach($users as $u) 
    { 
    $firstName = get_user_meta($u->ID, 'first_name', true); 
    $lastName = get_user_meta($u->ID, 'last_name', true);   

    $directory .= '<p><strong>'.$lastName.', '.$firstName.'</strong> - <a href="'.$this->actionURL.'newmessage&to='.$u->ID.'">'.__('Send Message', 'cartpaujpm').'</a></p>'; 
    } 
    return $directory; 
} 

答えて

2

あなたは、メタクエリ以下のような複数のメタフィールドで

$args = array ( 
     'meta_query' => array(
     'relation' => 'OR', 
     array(
      'key'  => 'first_name', 
      'value' => $search_string, 
      'compare' => 'LIKE' 
     ), 
     array(
      'key'  => 'last_name', 
      'value' => $search_string, 
      'compare' => 'LIKE' 
     ) 
     ) 
    ); 
+0

パーフェクト、感謝を検索することができます。 –

+0

歓迎です.. –

関連する問題