我在主页上使用Jetpack的无限滚动功能,我只想显示ID为1的类别中的帖子。问题是我的查询只在第一页上正常工作。在其他页面上,它显示所有类别的帖子。
这是我的密码
<?php $paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1; ?>
<?php query_posts($query_string.\'&cat=1&posts_per_page=12&paged=\'.$paged);?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php get_template_part( \'content\' ); ?>
<?php endwhile; endif; ?>
你知道这有什么问题吗?我在多个网站上使用此代码,但我没有无限滚动。
最合适的回答,由SO网友:TheDeadMedic 整理而成
正如@Pieter Goosen所说,你不应该使用query_posts
, 也不运行自己的查询。相反,请重写已运行的主查询:
function wpse_144974_pre_get_posts( $wp_query ) {
if ( ! is_admin() && $wp_query->is_main_query() && is_home() )
$wp_query->set( \'cat\', 1 );
}
add_action( \'pre_get_posts\', \'wpse_144974_pre_get_posts\' );