WordPress按时间顺序循环输出文章列表

在制作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();
?>


文章列表WordPress