Après toutes ces parties précédentes, nous avons fini de parcourir la WP_Query
classe-mais cela ne signifie pas que nous avons fini avec la série! Il est temps de se rencontrer WP_Query
les classes frère et soeur: WP_User_Query
, WP_Comment_Query
, WP_Meta_Query
et WP_Date_Query
.
Dans cette partie, nous allons apprendre à utiliser le WP_User_Query
classe pour interroger les utilisateurs dans WordPress.
Commençons!
Vous Probablement avoir l'idée de quoi WP_User_Query
est en lisant simplement son nom. Oui, personne ne s'attendrait à voir WP_User_Query
travailler avec le widget "Tag Cloud" -il est une classe qui exécute des requêtes sur utilisateurs dans WordPress.
Voyons ce que WordPress Codex dit à propos de la WP_User_Query
classe:
WP_User_Query
est une classe, définie danswp-includes / user.php
, qui permet d'interroger des tables de base de données WordPress 'wp_users
' et 'wp_usermeta
'. Cette classe a été introduite dans la version 3.1 et par conséquent, laWP_User_Search
la classe a été déconseillée.
En substance, on peut dire que "WP_User_Query
est WP_Query
pour les utilisateurs ". Il fonctionne avec wp_users
et wp_usermeta
interroger les utilisateurs et leurs métadonnées.
Voyons maintenant ce qui se cache sous le capot et apprenons-en davantage sur WP_User_Query
propriétés, méthodes et paramètres de. Ensuite, nous verrons comment cela fonctionne en examinant quelques exemples..
Conseil rapide: Nous avons couvert cela en présentant les propriétés et les méthodes de la WP_Query
classe, mais permettez-moi de le répéter à titre de rappel rapide: "Propriétés" et "méthodes" sont simplement "variables" et "fonctions" définies dans une classe PHP..
Il y a seulement sept propriétés à apprendre dans le WP_User_Query
classe. Rappelez-vous: ceux-ci devraient NE PAS être utilisé pour changer leurs valeurs. Vous pouvez aller chercher leurs valeurs, mais il vaut mieux ne pas modifier leur.
$ query_vars
Cette propriété stocke un tableau associatif de variables de requête et leurs valeurs..
$ résultats
Cette propriété a le nombre d'éléments trouvés (utilisateurs dans ce cas) pour la requête..
$ query_fields
Cette propriété, similaire aux propriétés suivantes, stocke les clauses SQL pour les champs de retour.
$ query_from
Cette propriété stocke le DE
clause pour la requête.
$ query_where
Cette propriété stocke le OÙ
clause pour la requête.
$ query_orderby
Cette propriété stocke le COMMANDÉ PAR
clause pour la requête et est utilisé pour ordonner la liste des utilisateurs renvoyés.
$ query_limit
Cette propriété stocke le LIMITE
clause pour la requête et permet de limiter le nombre d'utilisateurs renvoyés.
Rappelez-vous les méthodes de la WP_Query
classe? Eh bien, cette classe a seulement quatre méthodes et elles fonctionnent comme les méthodes de WP_Query
. Voyons rapidement pourquoi chacun existe.
obtenir()
MéthodeCette méthode récupère simplement une variable de requête à partir de la requête.
ensemble()
MéthodeContrairement à celle ci-dessus, cette méthode ensembles une variable de requête au lieu de l'obtenir.
Obtenir des résultats()
Méthodecontrairement à WP_Query
, la WP_User_Query
la classe ne fonctionne pas avec une "boucle". Au lieu de cela, vous devez utiliser le Obtenir des résultats()
méthode pour obtenir les résultats de la requête et travailler dessus.
get_total ()
MéthodeCette petite méthode renvoie le nombre total d'éléments (utilisateurs) pour la requête..
Comme le WP_Query
classe, WP_User_Query
a des paramètres que vous devez connaître. Mais en même temps WP_Query
a un grand nombre de paramètres (plus de 50!), WP_User_Query
a seulement 17 paramètres à s'inquiéter, et ils sont très similaires à ceux de WP_Query
, Donc, si vous les connaissez bien, il ne devrait pas y avoir de problèmes pour les apprendre.
blog_id
: Un entier pour spécifier l'ID d'un blog dans les réseaux multisites. Par défaut, le blog actuel.rôle
: Une chaîne pour énoncer un rôle d'utilisateur. Accepte abonné
, auteur
, donateur
, auteur
, éditeur
, administrateur
, et tout rôle d'utilisateur personnalisé.comprendre
: Un tableau d'ID utilisateur à inclure dans la requête.exclure
: Un tableau d'ID utilisateur à exclure de la requête.chercher
: Une valeur de chaîne à rechercher dans les champs du wp_users
table.colonnes_recherche
: Un tableau de colonnes du wp_users
table. Accepte ID
, Utilisateur en ligne
, user_url
, utilisateur_email
, et user_nicename
.commandé par
: Une chaîne de caractères indiquant comment trier les utilisateurs renvoyés. Accepte ID
, Afficher un nom
, prénom
/Nom d'utilisateur
, s'identifier
/Utilisateur en ligne
, joli nom
/user_nicename
, email
/utilisateur_email
, url
/user_url
, inscrit
/utilisateur_enregistré
, post_count
, et meta_value
. Par défaut à s'identifier
.ordre
: Une chaîne de caractères pour définir l'ordre croissant (ASC
) ou décroissant (DESC
).décalage
: Un entier pour spécifier le nombre d'utilisateurs à passer.nombre
: Un entier pour définir le nombre d'utilisateurs à renvoyer.count_total
: Un booléen (VRAI
/FAUX
) pour indiquer s'il faut compter le nombre total d'utilisateurs trouvés.des champs
: Une chaîne ou un tableau pour décider quels champs retourner wp_users
table.qui
: Une chaîne (soit auteurs
ou tout
, qui est la valeur par défaut) pour indiquer quels utilisateurs interroger.meta_key
: Une chaîne pour indiquer une clé de champ méta d'utilisateur personnalisé.meta_value
: Une chaîne pour indiquer une valeur de champ méta d'utilisateur personnalisé.meta_compare
: Une chaîne pour définir un opérateur pour tester la 'meta_value'
paramètre. Accepte '='
, '! ='
, '>'
, '> ='
, '<'
, '<='
, 'COMME'
, 'PAS COMME'
, 'DANS'
, 'PAS DEDANS'
, 'ENTRE'
, 'PAS ENTRE'
, 'EXISTE'
, et 'N'EXISTE PAS'
. Par défaut à '='
.meta_query
: Un tableau pour créer une requête de métadonnées complète, en utilisant des clés similaires à celles ci-dessus:clé
: Une chaîne pour définir une clé de champ personnalisée.valeur
: Une chaîne ou un tableau pour définir une valeur de champ personnalisé.comparer
: Une chaîne pour définir l'opérateur de comparaison. Accepte les mêmes valeurs que meta_compare
au dessus de.type
: Une chaîne pour définir le type de champ personnalisé. Accepte NUMERIC
, BINAIRE
, CARBONISER
, RENDEZ-VOUS AMOUREUX
, DATETIME
, DÉCIMAL
, SIGNÉ
, TEMPS
, et NON SIGNÉ
. Par défaut à CARBONISER
.Maintenant nous avons vu comment WP_User_Query
fonctionne, faisons quelques exemples pour apprendre à l'utiliser.
Supposons que vous souhaitiez répertorier vos éditeurs avec vos lecteurs, mais vous vous souvenez que l'une de vos éditeurs, Lisa, a accepté de travailler avec vous sous le sceau de l'anonymat. Vous devez donc la laisser dans la liste des "Éditeurs". Voici comment vous construisez la requête:
'Editor', 'exclude' => $ exclude_list); // requête personnalisée. $ my_user_query = new WP_User_Query ($ args); // Obtient les résultats de la requête. $ editors = $ my_user_query-> get_results (); // Recherche d'éditeurs si (! Empty ($ editors)) echo '
Supposons que vous souhaitiez collecter les adresses électroniques de vos auteurs utilisant une adresse Gmail. Voici ce que vous faites:
'auteurs', // recherche les adresses électroniques se terminant par '@ gmail.com'. 'search' => '*@gmail.com', // Recherchez uniquement le champ 'email'. 'search_columns' => array ('email'), // Renvoie le champ 'email' uniquement. 'champs' => 'email'); // requête personnalisée. $ my_user_query = new WP_User_Query ($ args); // Obtient les résultats de la requête. $ gmailers = $ my_user_query-> get_results (); ?>
Comme vous pouvez le constater, il n’ya que quelques différences entre WP_Query
et WP_User_Query
, et les différences font réellement WP_User_Query
plus facile à comprendre. J'espère vous avoir aidé à en apprendre davantage sur cette classe de WordPress.
Avez-vous quelque chose à ajouter à cet article? Partagez vos idées avec nous dans la section Commentaires ci-dessous. Et si vous avez aimé l'article, n'oubliez pas de le partager avec vos amis.
Rendez-vous dans la prochaine partie de la série!
Si vous êtes intéressé par quelques scripts et plugins pouvant vous fournir des fonctionnalités plus avancées avec les systèmes d’utilisateur et d’appartenance, il existe une collection utile de scripts d’appartenance sur Envato Market..