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

雖然它使用while(have_posts()),我覺得它沒用。假設它沒有條件,第一個if(have_posts())檢查塊是否有帖子。如果沒有帖子,程序就會退出循環。如果有帖子,則執行the_post()。任何提示將不勝感激。WordPress的循環

+2

我不明白你的問題是什麼 – 2010-11-07 09:32:42

+0

我不明白你想要問什麼或要求在這裏。你能改說你的問題嗎? – Ashe 2010-11-07 09:33:07

+0

我的意思是我會得到什麼效果。如果我刪除或添加while(have_posts())。 – runeveryday 2010-11-07 10:48:46

回答

1

首先,它檢查是否有職位,以顯示特定的頁面上使用:

if(have_posts()) 

,如果有的話,它會遍歷每個崗位使用:

while(have_posts()) 

右後,它用提取後的數據:

the_post(); 

至於語法它的自我,它採用的是所謂ternary operation(CMIIW在這裏)。

欲瞭解更詳細的解釋,你可以閱讀關於wordpress codex 。 以下是對該頁面的一點解釋:

一旦WordPress加載完博客標題並下載到模板後,我們就會到達我們的後循環。 have_posts()簡單地調用$ wp_query-> have_posts(),它檢查循環計數器以查看post數組中是否有任何留言。而the_post()調用$ wp_query-> the_post(),它提前循環計數器並設置全局$ post變量以及所有全局post數據。一旦我們用盡循環,have_posts()將返回false,我們就完成了。

+0

GOT,很多很多謝謝。 – runeveryday 2010-11-08 06:27:29

+0

你可能想考慮upvote或選擇你接受哪個答案。 – ariefbayu 2010-11-08 06:57:22

1

循環結構將重複並重復。構造像

while(have_posts()) 

將重複,直到沒有更多的職位。所以它的返回值並不總是相同的。它有助於一次又一次地重複循環的內容,直到沒有更多的帖子,當have_posts()爲while循環停止返回一個假值時。