前两天磊子分别对模板和侧边栏的创建以及使用方法给大家讲了下,如果没有看的可以了解一下,今天我们就来折腾下模板。我们知道每一个模板文件都是一个单页面,和主题文件里面的page.php一样,我们只能调用wordpress页面内容,那我们怎样将文章列表显示在页面里呢,磊子今天就说下这个。

页面调用文章列表我们可以分别用两个wordpress函数来做,首先第一个函数这个叫query_posts(里面的参数大家可以看下官方文档)写法以及示例如下:

01<?php 
02
03query_posts( "cat=22&showposts=10&order=desc" );
04
05//cat 分类id号
06
07//showposts 显示文章数
08
09//order 排序方式,desc降序,asc升序
10
11if ( have_posts() ) : while ( have_posts() ) : the_post();
12
13//if判断分类id号为22下有没有文章,然后用while将该分类下的文章循环一个个显示出来
14?>
15
16<li><a title="<?php the_title(); ?>" href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
17
18//显示出文章列表的标题以及链接地址(使用the_permalink()方法来显示每篇文章的链接)
19
20<?php endwhile; else: ?>
21
22<p>没有文章</p>
23
24<?php endif; ?>
25
26 wp_reset_query(); //将query_posts()进行重置,避免一些判断和一些loop循环失效

这样通过上面的方法,我们就可以把文章列表在页面显示出来了。只需要将代码放在你需要显示的模板文件里面或者其他页面文件。
使用query_posts方法唯一要注意一下就是在循环结束后加一个wp_reset_query()来重置它,因为它可能使一些 WordPress 条件函数失效等问题。不过我们还可以用下面这个方法,示例代码是:

1<?php
2    $recent = new WP_Query("showposts=8&order=asc&cat=20");
3    while($recent->have_posts()) : $recent->the_post();
4?>
5  <li><a title="<?php the_title(); ?>" href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
6  <?php   endwhile; ?>

在这个例子中我们使用WP_Query()这个函数(注意大小写),来调用文章列表,里面的参数和query_posts()的参数基本都是一样的。只需要用一个变量将它实例化一下就可以使用了,而且不需要重置。
以上便是我们常用到的调用方法,大家可以看看用一用来熟悉下。

顺便说一下,上面说到的两个方法函数不单单可以做这些,还有很多功能都可以用这两个方法来实现,可以说很强大。网上已经有很多这两个函数的用法,大家可以去找找看。不清楚的可以随时联系磊子1635806792。