在 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 >