复杂的查询和帖子分页

时间:2015-12-23 作者:DEM

我有一个复杂的帖子查询,但我无法让页面导航正常工作,已经尝试了几个小时,但没有成功,我错过了什么?

$paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
$args = array(
    \'post_type\' => array(\'recipe\',\'post\'),
    \'posts_per_page\'  => 30,
    \'paged\' => $paged,
    \'tax_query\' => array(
          \'relation\' => \'OR\',
       array(
         \'taxonomy\' => \'condition\',
         \'terms\' => $arrArea1,
         \'field\' => \'slug\'
       ),      
       array(
         \'taxonomy\' => \'diet_type\',
         \'terms\' => \'High Fiber\',
         \'field\' => \'slug\'
       ),          
   )
);
$query = new WP_Query( $args );
?>  
<div class="postCont">   
    <?php if ( $query->have_posts() ) : ?>
        <h2>What\'s Fresh</h2>
        <?php while ( $query->have_posts() ) : $query->the_post(); ?>
            <?php get_template_part( \'content\', \'profile-subscriber\' ); ?>
        <?php endwhile; ?>
        <div class="navigation">
            <?php posts_nav_link(); ?>
        </div>
    <?php else:  ?>
        <p><?php _e( \'Sorry, no posts matched your criteria.\' ); ?></p>
    <?php endif; ?>
    <?php wp_reset_postdata(); ?>              
</div>    
我需要弄清楚这一点,以便我可以做一些ajax加载更多的后期操作,如有任何帮助,将不胜感激

1 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

首先post_nav_link() 函数用于为主页和归档页上的主查询分页。它不适用于自定义查询(,除非你破解了我强烈反对的主查询,它与使用query_posts 然后)。

要对自定义查询分页,需要使用

将响应链接。如果你需要退货,就用他们的get_* 副本。下面是一个很好的示例,介绍了如何在next_posts_link() 法典第页。

我还编写了一个自定义分页函数,可以处理任何查询,并将分页显示为链接或数字。你可以去看看here

如果您打算使用ajax进行无限滚动,那么有很多插件(和教程IIRC)可供查看,您可以从中“借用”一些代码。请确保,我看过一到两个使用query_posts. 你应该避免使用那些你永远不应该使用的东西query_posts 因为它破坏了主查询对象。

最后一点,我不确定您想在哪里使用该查询,但静态FrontPage使用get_query_var( \'page\' ) 而不是get_query_var( \'paged\' ), 因此,如果您在静态首页上使用查询,请确保进行相应的更改

相关推荐

Custom pagination structure

当前我的分页工作方式如下http://example.com/city/usa/ #for page 1 http://example.com/city/usa/page/2 http://example.com/city/usa/page/3 ...and so on 我想将其更改为:http://example.com/city/usa/ #for page 1 http:/