Maison >Tutoriel CMS >WordPresse >Libérer la puissance de WP_Query : explorer les propriétés et les méthodes
Bienvenue dans un autre épisode de la série Mastering WP_Query. Comment allons-nous jusqu’à présent ? J'espère que vous apprécierez ces tutoriels autant que nous avons aimé les écrire.
Dans ce tutoriel, vous découvrirez les propriétés et les méthodes de la classe WP_Query
. Mais d’abord, j’ai pensé qu’il serait approprié de discuter des « propriétés » et des « méthodes » en cours.
Pouvons-nous ?
En PHP, il existe une manière plus simple d'écrire du code : la programmation orientée objet, ou POO. Pour la POO, nous utilisons des « classes » comme modèles — j'ai tiré ce terme d'un article classique sur Code Tuts+, « PHP orienté objet pour les débutants » de Jason Lengstorf :
Par exemple, une classe est comme un plan de maison. Il définit la forme de la maison sur papier, définissant et planifiant clairement la relation entre les différentes parties de la maison, même si la maison n'existe pas.
(N'oubliez pas que WP_Query
est une classe importante au cœur de WordPress.)
Lorsque vous comprenez le concept des classes PHP, les « propriétés » et les « méthodes » deviennent très faciles à comprendre car ces mots ne sont que des synonymes de « variables » et « fonctions ». Oui, les propriétés sont des variables des classes PHP et les méthodes sont des fonctions des classes PHP.
Maintenant que nous avons expliqué ce qu'elles sont, découvrons chaque propriété et méthode.
Attention : Il est déconseillé de modifier directement les propriétés. Comme le dit le Codex, vous devez utiliser les méthodes de WP_Query
pour interagir avec eux.
Commençons par les propriétés ou variables de la classe WP_Query
.
$query
Cette propriété stocke la requête transmise à l'objet $wp_query
.
$query_vars
Cette propriété stocke un tableau associatif de variables de $query
(et leurs valeurs).
$queried_object
Cet attribut stocke l'objet de la requête en cours, tel que l'objet $post
对象(如果是 post 查询)或 $author
(s'il s'agit d'une requête d'auteur).
$queried_object_id
Cet attribut stocke l'ID de l'objet de requête.
$posts
Cette propriété stocke les publications renvoyées par la requête.
$post_count
Cet attribut stocke le nombre de publications actuellement interrogées.
$found_posts
Cette propriété stocke le nombre de publications dans la requête SQL qui ne contiennent pas la clause LIMIT
.
$max_num_pages
Cette propriété stocke le nombre de pages - calculé en divisant $found_posts
除以 $posts_per_page
par $posts_per_page
.
$current_post
Cet attribut stocke le numéro d'index de l'élément actuel dans la boucle. Par exemple, si la boucle vient de démarrer, la méthode -1
,并且通过 next_post()
est incrémentée.
$post
Cet attribut stocke la publication actuelle.
$is_{conditional}
Les propriétés suivantes sont stockées sous forme de valeurs booléennes et fournissent des informations sur l'état actuel de la publication :
$is_single
: Vérifiez s'il s'agit d'une publication unique de n'importe quel type de publication (à l'exception des types de publication "Pièce jointe" et "Page"). $is_page
: Vérifiez s'il s'agit d'une page. $is_archive
: Vérifiez s'il s'agit d'une page d'archive. $is_preview
: Vérifiez s'il s'agit d'un aperçu de la publication. $is_date
: Vérifiez s'il s'agit d'une page archivée en fonction de la date. $is_year
: Vérifiez s'il s'agit d'une page d'archive basée sur l'année. $is_month
: Vérifiez s'il s'agit d'une page d'archive basée sur un mois. $is_time
: Vérifiez si la page est archivée en fonction du temps (horaire, minute ou seconde). $is_author
: Vérifiez s'il s'agit de la page d'archives de l'auteur. $is_category
: Vérifiez s'il s'agit d'une page d'archive de catégorie. $is_tag
: Vérifiez s'il s'agit d'une page d'archive de balises. $is_tax
: Vérifiez s'il s'agit d'une page d'archive de catégorie. $is_search
: Vérifiez s'il s'agit d'une page "Résultats de recherche". $is_feed
: Vérifiez s'il s'agit d'un flux. $is_comment_feed
: Vérifiez s'il s'agit d'un flux de commentaires. $is_trackback
: Vérifiez s'il s'agit d'une référence. $is_home
: Vérifiez s'il s'agit de la page principale du blog. $is_404
: Vérifiez s'il s'agit d'une page d'erreur 404. $is_comments_popup
: Vérifiez s'il s'agit d'une popup de commentaire. $is_admin
: Vérifiez s'il s'agit du panneau d'administration. $is_attachment
: Vérifiez s'il s'agit d'une pièce jointe. $is_singular
: Vérifiez s'il s'agit d'une publication unique de n'importe quel type de publication (y compris les types de publication « Pièce jointe » et « Page »). $is_robots
:检查是否是对 robots.txt
Requête de fichier. $is_posts_page
: Vérifiez s'il s'agit d'une "Page de publication" (définie sur la page "Paramètres de lecture" du panneau d'administration). $is_paged
: Vérifiez s'il s'agit d'une requête de pagination et non de la page d'accueil. Maintenant que nous en avons fini avec les propriétés, passons aux WP_Query
méthodes (fonctions) de la classe.
init()
Cette méthode initialise simplement l'objet, en définissant toutes les propriétés sur NULL
、0
或 FALSE
.
parse_query( $query )
Cette méthode utilise $query
属性来解析查询并填充所有其他属性(除了 $posts
、$post_count
、$post
和 $current_post
).
parse_query_vars()
Cette méthode réanalyse les variables de requête.
get( $query_var )
Cette méthode obtient la variable de requête donnée.
设置( $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 la publication demandée par la requête et remplit l'attribut $posts
和 $post_count
.
next_post()
Cette méthode ajoute l'article suivant dans $current_post
索引并前进到 $posts
et renvoie l'objet article actuel. (Cette méthode doit être utilisée dans une boucle pour fonctionner correctement.)
the_post()
Cette méthode définit une variable $post
globale en utilisant les données de l'article suivant. (Cette méthode doit être utilisée dans une boucle pour fonctionner correctement.)
have_posts()
Cette méthode vérifie s'il reste des messages à traiter, et sinon, renvoie FALSE
. (Cette méthode doit être utilisée avant la boucle pour fonctionner correctement.)
rewind_posts()
Cette méthode réinitialise simplement les propriétés $current_post
et $current_post
和 $post
.
&query( $query )
Cette méthode appelle ses deux méthodes sœurs : le résultat de parse_query()
和 get_posts()
,并返回 get_posts()
.
get_queried_object()
Cette méthode renvoie l'objet interrogé. (Définissez $queried_object
si ce n'est déjà fait.)
get_queried_object_id()
Cette méthode est similaire à la méthode ci-dessus et renvoie l'ID de l'objet de requête ($queried_object_id
).
Astuce : Si une méthode est précédée d'un symbole &, cela signifie que la méthode renvoie par référence.
J'espère avoir pu vous expliquer clairement ce que signifient « propriétés » et « méthodes » pour les cours. Si vous comprenez le but des propriétés et des méthodes de la classe WP_Query
, je peux dire que je fais du bon travail !
Avez-vous quelque chose à ajouter à cet article ? Partagez vos réflexions avec nous dans la section commentaires ci-dessous. Si vous avez aimé cet article, n’oubliez pas de le partager avec vos amis.
Rendez-vous dans la prochaine partie de cette série !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!