Maîtriser WP_Query propriétés et méthodes

Bienvenue dans une autre partie de notre série "Mastering WP_Query". Comment allons-nous jusqu'à présent? J'espère que vous appréciez ces tutoriels autant que nous aimons les écrire..

Dans ce tutoriel, vous allez en apprendre davantage sur les propriétés et les méthodes du WP_Query classe. Mais d’abord, je pense qu’il est approprié de parler de ce que sont les "propriétés" et les "méthodes" dans une classe.

On y va?

Que sont les propriétés et les méthodes, exactement?

En PHP, il existe un moyen d'écrire du code dans un nettoyeur manière: programmation orientée objet, ou POO. Avec la programmation orientée objet, nous utilisons des "classes" comme plans. J’ai pris le terme de l’un des classique messages de Code Tuts +, "PHP orienté objet pour les débutants" de Jason Lengstorf:

Une classe, par exemple, est comme un plan pour une maison. Il définit la forme de la maison sur papier, avec des relations entre les différentes parties de la maison clairement définies et planifiées, même si la maison n'existe pas.

(Et rappelez-vous que WP_Query est une classe essentielle du noyau WordPress.)

Lorsque vous comprenez la notion de classes PHP, "propriétés" et "méthodes" deviennent extrêmement faciles à comprendre car les mots ne sont que des synonymes de "variables" et "fonctions". Oui, Propriétés sont des variables d'une classe PHP et les méthodes sont des fonctions d'une classe PHP.

Maintenant, nous avons couvert ce qu'ils sont, apprenons à connaître chacune de ces propriétés et méthodes.

Attention: Il ne serait pas sage de changer les propriétés directement. Comme le dit le Codex, vous devriez interagir avec eux en utilisant les méthodes de WP_Query.

Propriétés de la classe WP_Query

Commençons par les propriétés, ou les variables, du WP_Query classe.

La chaîne de requête: $ requête

Cette propriété stocke la requête transmise au $ wp_query objet.

Le tableau de variables de requête: $ query_vars

Cette propriété stocke un tableau associatif des variables (et leurs valeurs) de $ requête.

L'objet interrogé: $ queried_object

Cette propriété stocke l’objet actuellement interrogé, comme le $ post objet si c'est une requête de poste ou la $ auteur objet si c'est une requête de l'auteur.

L'ID de l'objet interrogé: $ queried_object_id

Cette propriété stocke l'ID de l'objet interrogé.

Les messages renvoyés de la requête: $ posts

Cette propriété stocke les articles renvoyés par la requête..

Le nombre de messages affichés: $ post_count

Cette propriété stocke le nombre de publications pour la requête en cours..

Le nombre de messages renvoyés à partir de la requête: $ found_posts

Cette propriété enregistre le nombre de messages sans le LIMITE clause de la requête SQL.

Le nombre de pages: $ max_num_pages

Cette propriété stocke le nombre de pages-il est calculé en divisant $ found_posts par $ posts_per_page.

L'index du poste actuel: $ current_post

Cette propriété stocke le numéro d'index de l'élément en cours dans la boucle. Par exemple, c'est -1 si la boucle vient de commencer et est incrémentée de la next_post () méthode.

Le poste actuel: $ post

Cette propriété stocke, ainsi, le post actuel.

Booléens de balises conditionnelles: $ is_ conditionnel

Les propriétés suivantes sont stockées en tant que booléens, donnant des informations sur le statut de la publication en cours:

  • $ is_single: Vérifie s’il s’agit d’un message unique de tout type de message (à l’exception des types de message "pièce jointe" et "page") ou non.
  • $ is_page: Vérifie s'il s'agit d'une page ou non.
  • $ is_archive: Vérifie s'il s'agit d'une page d'archive ou non.
  • $ is_preview: Vérifie s'il s'agit d'un aperçu de publication ou non.
  • $ is_date: Vérifie s'il s'agit ou non d'une page d'archive basée sur la date.
  • $ is_year: Vérifie s'il s'agit d'une page d'archive basée sur un an ou non.
  • $ is_month: Vérifie s'il s'agit d'une page d'archive mensuelle ou non.
  • $ is_time: Vérifie s’il s’agit d’une page d’archivage temporelle (horaire, minutieux ou en second lieu).
  • $ is_author: Vérifie s'il s'agit d'une page d'archive d'auteur ou non.
  • $ is_category: Vérifie s'il s'agit d'une page d'archive de catégorie ou non.
  • $ is_tag: Vérifie s'il s'agit ou non d'une page d'archive de balises.
  • $ is_tax: Vérifie s'il s'agit ou non d'une page d'archive de taxonomie.
  • $ is_search: Vérifie s'il s'agit ou non d'une page de "résultats de recherche".
  • $ is_feed: Vérifie s'il s'agit d'un flux ou non.
  • $ is_comment_feed: Vérifie s'il s'agit d'un commentaire ou non.
  • $ is_trackback: Vérifie s'il s'agit d'un trackback ou non.
  • $ is_home: Vérifie s'il s'agit ou non de la page principale du blog.
  • $ is_404: Vérifie s'il s'agit d'une page d'erreur 404 ou non.
  • $ is_comments_popup: Vérifie s'il s'agit d'une fenêtre de commentaires ou non.
  • $ is_admin: Vérifie s'il s'agit du panneau d'administration ou non.
  • $ is_attachment: Vérifie s'il s'agit d'une pièce jointe ou non.
  • $ is_singular: Vérifie s’il s’agit d’un message simple de tout type (quel que soit le type de message "pièce jointe" ou "page") ou non.
  • $ is_robots: Vérifie s'il s'agit d'une requête pour le robots.txt déposer ou non.
  • $ is_posts_page: Vérifie s’il s’agit de la page "Posts" (définie sur la page "Paramètres de lecture" du panneau d'administration) ou non.
  • $ is_paged: Vérifie s'il s'agit d'une requête paginée et que ce n'est pas la première page.

Méthodes de la classe WP_Query

Maintenant que nous en avons terminé avec les propriétés, passons aux méthodes (fonctions) de WP_Query classe.

init ()

Cette méthode initialise simplement l’objet, en définissant toutes les propriétés sur NUL, 0 ou FAUX.

parse_query ($ query)

Cette méthode utilise le $ requête propriété pour analyser la requête et remplir toutes les autres propriétés (sauf $ posts, $ post_count, $ post et $ current_post).

parse_query_vars ()

Cette méthode reparses les variables de requête.

get ($ query_var)

Cette méthode va chercher une variable de requête donnée.

set ($ query_var, $ value)

Cette méthode définit la variable de requête donnée sur une valeur spécifique..

& get_posts ()

Cette méthode renvoie les articles demandés par la requête et renseigne le $ posts et $ post_count Propriétés.

next_post ()

Cette méthode incrémente le $ current_post index et avance au prochain post dans $ posts, renvoyer l'objet de publication en cours. (Cette méthode doit être utilisée dans une boucle pour fonctionner correctement.)

la poste()

Cette méthode définit le global $ post variable avec les données du prochain post. (Cette méthode doit être utilisée dans une boucle pour fonctionner correctement.)

have_posts ()

Cette méthode vérifie s’il reste des publications sur lesquelles travailler et renvoie FAUX s'il n'y en a pas. (Cette méthode doit être utilisée avant une boucle pour fonctionner correctement.)

rewind_posts ()

Cette méthode réinitialise simplement le $ current_post et $ post Propriétés.

& query ($ query)

Cette méthode appelle deux de ses méthodes frères, parse_query () et get_posts (), et retourne le résultat de get_posts ().

get_queried_object ()

Cette méthode retourne l'objet demandé. (Il établit $ queried_object si ce n'est pas déjà défini.)

get_queried_object_id ()

Cette méthode, similaire à celle ci-dessus, renvoie l'ID de l'objet interrogé ($ queried_object_id).

Conseil rapide: S'il y a une esperluette avant une méthode, cela signifie que la méthode retourne par référence.

Envelopper pour aujourd'hui

J'espère que j'ai réussi à vous expliquer ce que "propriétés" et "méthodes" signifient pour les classes. Et si vous comprenez le but des propriétés et des méthodes de la WP_Query classe, je peux dire que j'ai fait un travail décent!

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!