Don\'t use query_posts
, ever.
前6个查询可以压缩为一个WP_Query
:
$args = array(
\'cat\' => 3598,
\'posts_per_page\' => 6
);
$featured = new WP_Query( $args );
if( $featured->have_posts() ){
$featured->the_post();
?>
your markup for the first post
<?php
$featured->the_post();
?>
your markup for the second post
<?php
$featured->the_post();
// etc..
wp_reset_postdata();
}
对于主查询,使用
pre_get_posts
在主题的
functions.php
. 这样可以避免在模板中覆盖查询时浪费查询。
function wpa_exclude_categories( $query ) {
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( \'category__not_in\', array( 683, 3598 ) );
}
}
add_action( \'pre_get_posts\', \'wpa_exclude_categories\' );
现在,您已经从每个页面加载中删除了6个查询,您的分页将神奇地工作,只需跳一小段舞。