我有一个复杂的帖子查询,但我无法让页面导航正常工作,已经尝试了几个小时,但没有成功,我错过了什么?
$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加载更多的后期操作,如有任何帮助,将不胜感激
最合适的回答,由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\' )
, 因此,如果您在静态首页上使用查询,请确保进行相应的更改