【记录】由于特殊需要,在分类列表页实现置顶文章、普通文章分开调用,互不影响。即在文章列表里彻底排除置顶文章,方法如下:

1、调用置顶文章

<?php
$sticky = get_option('sticky_posts');
rsort( $sticky );
$sticky = array_slice( $sticky, 0, 8); // 显示8篇文章
query_posts( array( 'post__in' => $sticky, 'caller_get_posts' => 1 ) );
if (have_posts()) :while (have_posts()) : the_post();
?>
<li><a href="<?php the_permalink();?>" target="_blank"><?php the_title();?></a></li>
<?php endwhile; endif;?>

2、普通文章列表里,彻底排除置顶文章。(不是以普通方式显示置顶文章,而是彻底不输出置顶文章)

<?php
$args=array(
'post_status' => 'publish',
'paged' => $paged,
'post__not_in' => $sticky, 
//彻底禁止显示置顶文章。如需让置顶文章以普通文章形式显示,可将其替换成:'ignore_sticky_posts' => 1,
//或'caller_get_posts' => -1,
'posts_per_page' => $post_num,
);
query_posts($args);
if ( have_posts() ) : while ( have_posts() ) : the_post();
?>
<li><a href="<?php the_permalink();?>" target="_blank"><?php the_title();?></a></li>
<?php endwhile; endif; wp_reset_query(); ?>

通过以上方法,可以把置顶文章、普通文章分别显示在同一页面的不同版块,且不影响分页。

本文由SUNSEO原创编辑,转载请注明来源及版权归属。

标签:



发表评论

电子邮件地址不会被公开。 必填项已用*标注