Mastering WP_Query série finale

Bienvenue à la fin de la série "Mastering WP_Query". Ce fut un long voyage - c'était l'une des séries les plus longues de l'histoire de Tuts +. Rachel et moi sommes extrêmement fiers d’être les deux écrivains de cette WP_Query référence.

Nous espérons que vous avez apprécié la balade. Dans cette dernière partie, nous allons passer en revue ce que nous avons appris et fermer les rideaux.

Partie 1: une introduction

C'était l'introduction à la série par Rachel. Dans cette partie, nous avons appris:

  • quoi WP_Query est en termes simples et un exemple simple
  • pourquoi nous devrions utiliser WP_Query, et pourquoi nous devrions l'utiliser par rapport à d'autres méthodes pour créer des requêtes personnalisées
  • les "mises en garde" de WP_Query que nous devrions savoir

Partie 2: Utiliser la boucle avec WP_Query

La deuxième partie consistait à créer une boucle avec le WP_Query classe, également écrit par Rachel. Dans cette partie, nous avons appris:

  • qu'est-ce qu'une "boucle WordPress" et où elle est utilisée
  • la façon dont les boucles WordPress sont structurées (avec un exemple détaillé et bien écrit)
  • exécuter des boucles supplémentaires avec le WP_Query classe

Partie 3: Fonctions connexes

Dans cette partie, écrite par vous-même, nous avons examiné 13 fonctions qui interagissent avec WP_Query, ce qui rend plus facile de travailler avec elle. Les fonctions étaient:

  • get_query_var (), qui obtient des variables de requête publiques
  • query_posts (), qui modifie la boucle principale et est une fonction très mauvaise
  • get_post (), qui obtient un poste simple pour travailler avec
  • get_posts (), qui obtient les messages et les retourne dans un tableau
  • get_pages (), qui obtient les pages de la même manière
  • have_posts (), qui est une étiquette conditionnelle qui retourne VRAI s'il y a des messages retournés dans la requête
  • la poste(), qui tourne les rouages ​​dans la boucle
  • setup_postdata (), qui met en place le global $ post variable
  • rewind_posts (), qui efface la boucle de courant
  • wp_reset_postdata (), qui réinitialise le global $ post variable
  • wp_reset_query (), qui réinitialise toute la requête
  • is_main_query (), qui vérifie si la requête en cours est la requête principale (et une autre balise conditionnelle)
  • dans la boucle(), qui vérifie si nous sommes dans la boucle (et est encore une autre balise conditionnelle)

Partie 4: Filtres et actions associés

Cette partie que j’ai écrite était à la fois ennuyeuse et enrichissante. C'était agaçant parce que cela prenait beaucoup plus de temps de recherche, mais c'était très enrichissant parce que, eh bien, j'ai beaucoup appris. (Astuce d’apprentissage professionnel: écrivez un tutoriel sur un sujet que vous connaissez peu!)

Chaque WP_Query-filtre lié était (en quelque sorte) sur les commandes SQL qui exécutent la requête-plupart filtrent les différentes clauses comme LIMITE, ou DISTINCT. Les trois actions, par contre, ont des objectifs différents:

  • le pre_get_posts l'action interfère avec la requête avant c'est couru.
  • le parse_query action gère l'analyse de la requête.
  • le la poste action modifie l'objet post.

Partie 5: Propriétés et méthodes

Dans cette partie que j’ai écrite, nous avons passé en revue les propriétés et les méthodes du WP_Query classe. ("Propriétés" et "méthodes" sont simplement "variables" et "fonctions" dans une classe PHP.) Les propriétés (variables) sur lesquelles nous avons appris sont:

  • $ requête
  • $ query_vars
  • $ queried_object
  • $ queried_object_id
  • $ posts
  • $ post_count
  • $ found_posts
  • $ max_num_pages
  • $ current_post
  • $ post
  • 25 propriétés commençant par $ is_, qui fonctionnent comme des balises conditionnelles

Et les méthodes (fonctions) étaient:

  • init ()
  • parse_query ()
  • parse_query_vars ()
  • obtenir()
  • ensemble()
  • & get_posts ()
  • next_post ()
  • la poste()
  • have_posts ()
  • rewind_posts ()
  • &question()
  • get_queried_object ()
  • get_queried_object_id ()

Parties 6 à 12: arguments de la classe WP_Query

Dans les sept prochaines parties, Rachel a fait un travail fantastique en expliquant tous les arguments que nous pouvons utiliser avec le WP_Query classe, avec de petits exemples:

  • Partie 6: Arguments-Pages, Posts et types de posts
  • Partie 7: Arguments - Catégories et balises
  • Partie 8: Arguments-Taxonomies
  • Partie 9: Arguments - Champs personnalisés
  • Partie 10: Arguments-Date
  • Partie 11: Arguments - Statut du message, pagination et commande
  • Partie 12: Arguments - Auteur, Recherche, Mot de passe, Autorisations, Mise en cache et Champs de retour

Partie 13: 10 exemples utiles de WP_Query

Dans cette partie, j’ai pris la liberté de passer en revue divers exemples en utilisant le WP_Query classe et ses fonctions associées. (J’ai également donné un exemple rapide pour vous rappeler comment créer une boucle avec WP_Query.) Les exemples portaient sur:

  1. liste des publications d'un auteur dans l'année en cours
  2. création d'un "Derniers messages de cette catégorie" qui exclut le message actuel
  3. création d'une liste "Messages les plus populaires", classée par nombre de commentaires
  4. créer un simple curseur
  5. montrant une citation aléatoire dans la barre latérale
  6. liste des produits entre une gamme de prix
  7. construire un shortcode pour afficher un post dans un post
  8. listant les publications programmées actuelles (avec des extraits, si vous le souhaitez)
  9. affichant une section "Publier il y a un an"
  10. montrant les enfants de la page en cours

Je dois admettre que c’était la partie la plus amusante sur laquelle j’ai travaillé!

Partie 14: Combinaison de WP_Query avec la requête principale

Cette partie, écrite par Rachel, nous parle de la combinaison des WP_Query classe avec la requête principale. C'est un sujet très intriguant, mais je dois donner quelques détails. Dans cette partie, Rachel a donné trois excellents exemples:

  1. Le premier exemple concernait l’affichage des postes d’un seul type sur une archive de catégorie..
  2. Le deuxième exemple concernait l’obtention des publications (renvoyées par la requête principale) par type de publication et la liste des publications séparées par type de publication, mais dans une liste unique..
  3. Le troisième exemple concernait la séparation de la requête principale en deux requêtes personnalisées..

Parties 15 à 18: Les compagnons de la classe WP_Query

Saviez-vous qu'il existe des classes qui fonctionnent comme le WP_Query classe pour aider WP_Query? Dans les parties suivantes, Rachel et moi avons parlé de:

  • Maîtriser WP_User_Query dans la partie 15
  • Maîtriser WP_Comment_Query dans la partie 16
  • Maîtriser WP_Meta_Query Et WP_Date_Query dans la partie 17

Partie 18: Améliorations des requêtes dans WordPress 4.1

Dans cette partie, Rachel a parlé des améliorations apportées au système de requête de WordPress dans les requêtes imbriquées, les paramètres de commentaire et la résolution de bugs généraux, similaires à la version 4.1. C'est une partie douce, une lumière lue avant la fin.

Partie 19: La fin

Comme l’a dit Oracle dans The Matrix Revolutions: Tout ce qui a un début a une fin.

La course a été longue et, comme je l’ai dit au début, c’est l’une des séries les plus longues de l’histoire de Tuts +. J'ai rejoint Rachel McCollin, l'un des meilleurs instructeurs de Tuts +, et nous sommes fiers d'être ceux qui ont écrit la série de didacticiels la plus longue, la plus complète et la plus épique du monde. WP_Query classe et ses compagnons.

Nous avons travaillé très fort sur la série et nous espérons vraiment que vous avez apprécié chaque instant. Si vous avez appris quelque chose de nouveau dans cette série de 19 articles, nous sommes heureux d’avoir fait du bon travail..

Si vous avez des commentaires sur cette série, n'hésitez pas à partager vos impressions dans la section Commentaires ci-dessous. Et, comme toujours, si vous avez aimé la série, n'oubliez pas de partager cette dernière partie avec vos amis sous forme d'index.

À votre santé!