2015-04-01 60 views
0

我在wp_usermeta表中存儲了特定的術語標識。 我想獲得用戶id的用戶id與用戶元鍵'位置'值匹配。 我已經嘗試了下面的查詢,但它什麼也沒做。從wp_usermeta表中獲取用戶標識

global $wpdb; 
    $term = get_queried_object(); 
    $query = $wpdb->get_results("SELECT user_id FROM wp_usermeta WHERE meta_key='location' AND meta_value LIKE %s",'%'.$term->term_id.'%'); 

enter image description here

回答

1

試試這個,你是不是正確地傳遞價值

$query = $wpdb->get_results("SELECT user_id FROM wp_usermeta WHERE 
meta_key='location' AND meta_value LIKE '%s,%".$term->term_id."%'"); 
+0

感謝您的回覆。 你的代碼有錯誤。 – Ask4Tec 2015-04-01 09:46:37

+0

@ Ask4Tec yes..edited..check now .. – 2015-04-01 11:31:14

0

是否有任何理由使用SQL查詢?我認爲這將做你想要的東西:

$user_query = new WP_User_Query(array('meta_key' => 'location', 'meta_value' => 'ANY')); 

foreach ($user_query as $user) { 
    $user->ID; // the the user id 
} 
+0

感謝您的回答, 是的,這是使用sql查詢的原因。 其實我想在定製分類頁面上找到與每位作者有關的所有術語,主要原因是作者通過管理員與特定術語綁定。 例如我有一個術語德克薩斯州,當點擊德克薩斯州時,它將進入分類頁面,並將獲得與其作者有關的所有術語。 – Ask4Tec 2015-04-01 12:34:10

0

我已經想通了。這是我的解決方案。如果有人需要。

$term = get_queried_object(); 
    $wpdb->get_results($wpdb->prepare("SELECT user_id FROM $wpdb->usermeta WHERE meta_key='location' AND $wpdb->usermeta.meta_value LIKE %s", '%' . $term->term_id . '%')); 
相關問題