在 WordPress 中讀取文章列表都是透過 loop 形式獲取的,」Loop(迴圈)」 是一個指明 WordPress 主要程式過程的術語。你在你的模板 template files 中應用迴圈來把你的文章表現給讀者。特別的在我們製作 WordPress 主題首頁過程中,經常需要遍歷資料,讀取最新的文章列表,接下來讓我們具體來看下 WordPress Loop(迴圈) 的使用,以下我們以主題首頁模板 index.php 為例:
< ?php
get_header();
//Loop 開始
if (have_posts()) :
while (have_posts()) :
the_post();
the_content();
endwhile;
endif;
//Loop 結束
get_sidebar();
get_footer();
? >
以上例項僅展示了每篇文章的內容,使用中視具體情況去調整迴圈
Loop 解析
在以上 index.php 例項中,可以看到 Loop 如何開始的程式碼為:
< ?php if (have_posts()) : ? >
< ?php while (have_posts()) : the_post(); ? >
首先, 透過 have_posts() 方法來檢查是否有文章。
如果有文章, PHP while 迴圈開始. while 迴圈會一直執行一直到其括號裡的條件為真。所以直到 have_posts() 返回真,while 迴圈就不會停止 (have_posts() 方法單純的檢查下一篇文章能否找到。如果找到了,if 判斷返回真,while 迴圈就再次執行; 如果沒有下一篇文章,if 判斷返回假,跳出迴圈) 。
the_post() 方法可以使得讀取當前文章資料的函式生效,如果沒有 the_post(), 大多數模板標籤是無法使用的。
獲取文章的標題、日期及作者
下面的模板標籤可以輸出當前文章標題,時間和作者。
< h2 id="post-" >
< a href="" rel="bookmark" title="Permanent Link to " >
< ?php the_title(); ? > < !--文章標題-->
< /a >
< /h2 >
< small >
< ?php the_time('F jS, Y') ? > < !--日期-- >
by < ?php the_author() ? > < !--作者-- >
< /small >
獲取文章內容
文章內容可以透過迴圈體內的 the_content() 函式直接輸出獲取。 get_the_content() 為返回文章內容,你可以對讀取的文章內容進行過濾擷取。
< div >
< ?php the_content('閱讀全文 »'); ? >
< /div >