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