2010-11-07 5 views
0
<?php if(have_posts()) : while(have_posts()) : the_post(); ?> 

Bien qu'il utilise while(have_posts()), je pense que c'est inutile. Supposons qu'il n'a pas la condition while, le premier if(have_posts()) pour vérifier le bloc si avoir un post. S'il n'y a pas de message, le programme sort de la boucle. s'il y a un message, exécutez the_post(). Des conseils seraient appréciés.La boucle de Wordpress

+2

Je ne comprends pas votre question –

+0

Je ne comprends pas ce que vous essayez de demander ou de demander ici. Pouvez-vous reformuler votre question? – Ashe

+0

ma signification est ce que l'effet je vais obtenir. si je supprime ou ajoute le while (has_posts()). – runeveryday

Répondre

1

D'abord, il vérifie s'il y a des messages à afficher sur cette page particulière en utilisant:

if(have_posts()) 

s'il y en a, il bouclera sur chaque poste en utilisant:

while(have_posts()) 

Juste après , il extrait les données de poste à l'aide:

the_post(); 

En ce qui concerne la syntaxe elle-même, il utilise ce qu'on appelle ternary operation (CMIIW ici).

Pour une explication plus détaillée, vous pouvez lire environ sur wordex codex. Voici une petite explication tirée de cette page:

Une fois que WordPress a terminé le chargement de l'en-tête de blog et descend dans le modèle, nous arrivons à notre boucle post. Le has_posts() appelle simplement $ wp_query-> has_posts() qui vérifie un compteur de boucle pour voir s'il y a des messages dans le tableau de messages. Et the_post() appelle $ wp_query-> the_post() qui fait avancer le compteur de boucles et configure la variable $ post globale ainsi que toutes les données postales globales. Une fois que nous aurons épuisé la boucle, have_posts() retournera false et nous aurons terminé.

+0

Got it, beaucoup de mercis. – runeveryday

+0

vous pourriez vouloir envisager upvote ou choisi quelle réponse acceptez-vous. – ariefbayu

1

La construction en boucle se répète et se répète. La construction comme

while(have_posts()) 

se répète jusqu'à ce qu'il n'y ait plus de poste. Donc, sa valeur retournée n'est pas toujours la même. Cela aide à répéter le contenu de la boucle encore et encore, jusqu'à ce qu'il n'y ait plus de message, quand has_posts() renvoie une valeur false pour que la boucle while s'arrête.

Questions connexes