如何檢索在我的WordPress博客中註冊的具有特定元數據的所有用戶?WordPress通過元數據獲取用戶
例如,我已經爲每個註冊用戶添加了一個自定義元數據,該元數據爲parent_id
。如果我想列出parent_id
爲2
的所有用戶,那我該怎麼做?
如何檢索在我的WordPress博客中註冊的具有特定元數據的所有用戶?WordPress通過元數據獲取用戶
例如,我已經爲每個註冊用戶添加了一個自定義元數據,該元數據爲parent_id
。如果我想列出parent_id
爲2
的所有用戶,那我該怎麼做?
由於WP v3.1通過他/她的元鍵來搜索用戶是非常容易的。
使用功能
get_users($參數)
該函數的參數數組,你的情況,你需要
get_users(array('meta_key'=> 'parent_id','meta_值'=>'42'))
Here is the codex page from Wordpress詳細說明如何使用get_users($arg);
函數。
它包含了如何構建自定義函數以獲取用戶數據的各個部分的示例。您必須自然地構建並進行一些自己的更改才能獲得您想要的結果。
此外here is a link有人建立的功能,將基於wordpress中的角色獲取用戶數據。你可以用許多不同的方式配置它,但這可以讓你以更強大的方式過濾結果。
簡單方式如何通過自己的元數據,以得到一個用戶:
$user = reset(
get_users(
array(
'meta_key' => $meta_key,
'meta_value' => $meta_value,
'number' => 1,
'count_total' => false
)
)
);
對於只需要用戶標識的人。添加一個數組參數''fields'=>'ids''。這將使查詢更輕量。 – Sisir 2015-03-03 06:39:34
這裏是你如何可以根據自定義角色和多個元數據鍵讓用戶,
$available_drivers = get_users(
array(
'role' => 'driver',
'meta_query' => array(
array(
'key' => 'approved',
'value' => true,
'compare' => '=='
),
array(
'key' => 'available',
'value' => true,
'compare' => '=='
)
)
)
);
說明前述查詢,我只想要那些分配了驅動程序角色的用戶,並且他們已被批准並可用。批准並可用的是使用ACF創建的自定義字段作爲True/False字段。
如果您有其他要測試的元數據,請將另一個數組元素添加到meta_query數組中。
同時結帳我的開源在github.com/patrickingle
優秀。我試圖使用「meta_query」選項,該選項不起作用。這工作完美。謝謝。 – Jake 2012-08-09 10:31:49