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