Maîtriser WP_User_Query

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_Queryles 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!

Qu'est-ce que WP_User_Query?

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 dans wp-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, la WP_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_Queryproprié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..

Propriétés de WP_User_Query

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 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.

Méthodes de WP_User_Query

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.

le obtenir() Méthode

Cette méthode récupère simplement une variable de requête à partir de la requête.

le ensemble() Méthode

Contrairement à celle ci-dessus, cette méthode ensembles une variable de requête au lieu de l'obtenir.

le Obtenir des résultats() Méthode

contrairement à 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.

le get_total () Méthode

Cette petite méthode renvoie le nombre total d'éléments (utilisateurs) pour la requête..

Paramètres de WP_User_Query

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.

Essayer WP_User_Query avec quelques exemples

Maintenant nous avons vu comment WP_User_Query fonctionne, faisons quelques exemples pour apprendre à l'utiliser.

Liste de tous les éditeurs sauf Lisa

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 '
    '; // boucle sur les éditeurs. foreach ($ editors as $ editor) // Récupère les données de chaque éditeur. $ editor_info = get_userdata ($ editor-> ID); // Affiche le nom de l'éditeur. écho '
  • '. $ editor_info-> display_name. '
  • '; écho '
'; else // Affiche le message "aucun éditeur trouvé". echo __ ('Aucun éditeur trouvé!', 'tutsplus'); ?>

Rechercher des utilisateurs Gmail parmi vos auteurs

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 (); ?>

Tout emballer

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..