在制作WordPress主题时,经常用到循环输出文章列表,比如首页,分类页等等。WordPress给我们提供了非常方便的函数用来获取文章列表,最常用的就是按照时间顺序输出了,下面提供一种按照时间顺序输出文章列表的方法。
<?php $args=array( 'orderby' => date ); $Arms = array_merge($args, $wp_query->query); query_posts($arms)?> <?php if (have_posts()) : while (have_posts()) :the_post();?> //输出逻辑 <?php endwhile; endif; wp_reset_query(); ?>
在测试时发现,如果存在置顶文章,上面的方法会连同置顶文章一起输出,首页出现的文章数量就会是置顶文章数量+默认出现的文章数量(可根据需求输出自定义文章数量)。
要解决置顶文章的问题,需要使用下面的方法,与上面的方法相比只是多了一句限制置顶文章正常输出的语句,同样是利用了WordPress提供的函数。
<?php $args=array( 'ignore_sticky_posts' => 1 ,//置顶文章正常输出 'orderby' => date ); $arms = array_merge($args, $wp_query->query); query_posts($arms)?> <?php if (have_posts()) : while (have_posts()) :the_post();?> //输出逻辑 <?php endwhile; endif; wp_reset_query(); ?>