問題描述
如何檢索在我的 WordPress 博客中註冊的具有特定元數據的所有用户?
例如,我已經選擇為每個註冊具有元鍵的用户添加自定義元數據作為 parent_id 。如果我想列出所有具有 parent_id 的用户都是 2,那我該怎麼辦?
最佳解決方案
由於 WP v3.1 是通過他/她的元鍵搜索用户很容易的。
使用該功能
get_users($args)
該函數需要一系列參數,在您需要的情況下
get_users(array(‘meta_key’ => ‘parent_id’, ‘meta_value’ => ’42’))
次佳解決方案
通過他的元數據獲取一個用户的簡單方法是:
$user = reset(
get_users(
array(
'meta_key' => $meta_key,
'meta_value' => $meta_value,
'number' => 1,
'count_total' => false
)
)
);
第三種解決方案
Here is the codex page from WordPress 詳細介紹瞭如何使用 get_users($arg); 功能。
它包含如何構建自定義函數以獲取用户數據的各個部分的示例。你必須自然地構建並做出一些你自己的改變,以獲得你想要的。
另外 here is a link 是一個功能,可以根據 wordpress 中的角色來獲取用户數據。您可以通過多種不同的方式對其進行配置,但這樣可以以更強大的方式過濾您的結果。
第四種方案
以下是如何根據自定義角色和多個元數據鍵獲取用户,
$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 檢查我的開源
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。