2014-09-26 29 views

回答

2

只需用幾行代碼,你會發現結果:

<?php 
    global $wpdb; 
    $users = $wpdb->get_results("SELECT user_email FROM $wpdb->users WHERE display_name = 'your_user_display_name'"); 
    $required_user_email = $users[0]->user_email; 
    echo $required_user_email; 
?> 

只是替換 'your_user_display_name'顯示您想要獲取電子郵件的用戶名稱

+0

謝謝它的工作。 – 2014-09-26 10:02:07

+0

儘管WordPress數據庫結構穩定,但發出「直接」查詢可能會導致未來的問題。用戶操作具有特定的API。我強烈建議使用['WP_User_Query'類](http://codex.wordpress.org/Class_Reference/WP_User_Query) – PauloASilva 2014-09-26 10:39:40

+0

稍微簡單一點: '$ required_user_email = $ wpdb-> get_var(「SELECT user_email FROM $ wpdb-> users WHERE display_name ='your_user_display_name'「);' – 2017-03-07 13:35:06

-2

嘗試get_user_by($field,$value) function

<?php $user = get_user_by('display_name', 'John Doe'); ?> 

這可能是危險的,因爲顯示的名字是不是唯一的!

編輯

您還可以使用class WP_User_Query

$query = new WP_User_Query(array(
    'search' => 'John Doe', 
    'search_columns' => array('user_login', 'user_nicename'), 
)); 

// User Loop 
if (empty($query->results)) 
    throw new Exception('no user found'); 

foreach ($query->results as $user) 
    echo $user->email,PHP_EOL; 
+0

但我想通過顯示名稱獲取所有用戶的電子郵件。 – 2014-09-26 08:07:45

+0

@RahulVaghela好的,你可以使用'get_user_by'函數。 當然,你必須迭代結果集和獲取電子郵件地址(一個'while'循環,很容易) – PauloASilva 2014-09-26 08:09:21

+1

沒有'get_user_by('display_name',...)' – 2017-03-07 13:20:50

相關問題