查询帖子仅在第一页起作用

时间:2014-05-20 作者:Alex Dumitru

我在主页上使用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; ?>
你知道这有什么问题吗?我在多个网站上使用此代码,但我没有无限滚动。

1 个回复
最合适的回答,由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\' );

结束

相关推荐

我如何包装第三方jQuery脚本,以便它们在WordPress中工作?

我试图在标题中包含一个jQuery自动完成脚本。我的主题的php文件。wordpress之外的脚本使用这种结构非常有效(与jQuery自动完成演示相同):<script> $(function() { ..... }); </script> 我试过这样包装它: <script> jQuery().ready(function($) { $(function() {&#