不确定分页的问题,这也不能解决您的性能问题,但这是我几年前就粘性帖子问题提出的一种解决方法。
您基本上运行两个查询,粘性帖子堆叠在非粘性帖子的顶部。下面是原始代码的简化版本,所以我没有测试过这个确切的代码。然而,一般原则是存在的。如果你愿意,我可以发布原始实现(它是一个主页小部件)。
<ul>
<?php
$args_sticky = array(
'cat' => 2,
'post__in' => get_option( 'sticky_posts' );
);
/*
*STICKY POSTS
*/
//Display the sticky posts next
$the_query = new WP_Query( $args_sticky );
while ( $the_query->have_posts() ) : $the_query->the_post();
?>
<li><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
<?php
endwhile;
wp_reset_postdata();
/*
*NON-STICKY POSTS
*/
//Display the non-sticky posts next
$args = array(
'cat' => 2,
'post__not_in' => get_option( 'sticky_posts' );
);
$the_query = new WP_Query( $args );
while ( $the_query->have_posts() ) : $the_query->the_post();
?>
<li><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
<?php
endwhile;
wp_reset_postdata();
?>
</ul>
有关更多信息,请参阅:http ://codex.wordpress.org/Class_Reference/WP_Query#Pagination_Parameters