WordPress obtenir utilisateur par meta data

Comment puis-je récupérer tous les utilisateurs enregistrés dans mon blog WordPress ayant une méta-données particulière?

Par exemple j'ai fait une option d'ajouter des méta-données pour chaque enregistrement d'utilisateurs ayant des méta -parent_id. Si je veux lister tous les utilisateurs ayant parent_id2 , alors comment puis-je faire cela?

43
demandé sur jviotti 2011-05-24 10:51:03

4 réponses

depuis WP v3.1 Il est ridiculement facile de rechercher un utilisateur par sa méta-clé.

utilisez la fonction

get_users ($args)

( documents du WP)

la fonction prend un tableau de paramètres, dans votre cas vous avez besoin

get_users (array ('meta_key' => "parent_id", "meta_value' => '42'))

62
répondu anroots 2011-06-25 19:47:12

Simple, comment obtenir un utilisateur par son métadonnées est:

$user = reset(
 get_users(
  array(
   'meta_key' => $meta_key,
   'meta_value' => $meta_value,
   'number' => 1,
   'count_total' => false
  )
 )
);
20
répondu OzzyCzech 2013-04-16 14:23:16

Voici comment vous pouvez obtenir des utilisateurs basés sur un rôle personnalisé et de multiples clés de métadonnées,

$available_drivers = get_users(
            array(
                'role' => 'driver',
                'meta_query' => array(
                    array(
                        'key' => 'approved',
                        'value' => true,
                        'compare' => '=='
                    ),
                    array(
                        'key' => 'available',
                        'value' => true,
                        'compare' => '=='
                    )
                )
            )
        );

en expliquant la requête ci-dessus, je ne veux que les utilisateurs à qui j'ai assigné le rôle de pilote, et ils sont approuvés et disponibles. Les champs approuvés et disponibles sont des champs personnalisés créés en utilisant ACF comme champs True / False.

si vous avez des métadonnées supplémentaires à tester, ajoutez un autre élément au tableau meta_query.

En attendant, vérifiez mon open source à github.com/patrickingle

6
répondu pingle60 2016-07-18 18:53:52

détaillant la façon d'utiliser le get_users($arg); fonction.

il contient des exemples comment construire des fonctions personnalisées pour récupérer diverses parties de données utilisateur. Vous aurez à construire naturellement et faire certains de vos propres changements pour l'obtenir comme vous voulez.

en plus voici un lien à une fonction que quelqu'un a construit qui va récupérer des données utilisateur basé sur les rôles au sein de wordpress. Vous pouvez le configurer de différentes façons avec quelques tweeking, mais cela vous permettra de filtrer vos résultats dans un plus puissant.

4
répondu Jem 2012-04-09 00:50:42