問題描述

如何檢索在我的 WordPress 部落格中註冊的具有特定後設資料的所有使用者?

例如,我已經選擇為每個註冊具有元鍵的使用者新增自定義後設資料作為 parent_id 。如果我想列出所有具有 parent_id 的使用者都是 2,那我該怎麼辦?

最佳解決方案

由於 WP v3.1 是透過他/她的元鍵搜尋使用者很容易的。

使用該功能

get_users($args)

(WP Documentation)

該函式需要一系列引數,在您需要的情況下

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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。