我在Wordpress的几个页面上使用以下wp_query,正如您所看到的,我正在尝试确保查询是分页的。一切都在自定义页面模板page-articles.php上成功运行,但是我无法在archive.php模板上获得相同的结果。
分页链接成功呈现(例如mydomain.com/category/my-cat/page/2)但是点击链接后无效,它只会引发404错误?这些链接怎么能不去任何地方?
我假设在archive.php模板上使用自定义wp_query存在一些问题?
谢谢!
查询
$args = array(
'post_type' => 'post',
'posts_per_page' => 1,
'paged' => $paged,
'orderby' => 'date',
'order' => 'DESC'
);
$articles = new WP_Query($args );
?>
循环
<?php if ( $articles->have_posts() ) : ?>
<?php while ( $articles->have_posts() ) : $articles->the_post(); ?>
Posts here!
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
<?php endif; ?>
分页
<nav>
<div class="prev"><?php echo get_previous_posts_link( 'Previous', $articles->max_num_pages ); ?></div>
<div class="next"><?php echo get_next_posts_link( 'Next', $articles->max_num_pages ); ?></div>
</nav>
答案 0 :(得分:0)
是的,确实如此。
这是因为当您使用WP_QUERY时,archive.php的主查询保持不变。尝试在archive.php。
中使用query_posts()query_posts($args);
然后默认循环(而不是$ articles)
<?php if ( have_posts() ) : ?>
<?php while (have_posts() ) : the_post(); ?>
Posts here!
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
<?php endif; ?>
答案 1 :(得分:0)
经过一些挖掘,并在this article的帮助下,以下解决方案解决了这个问题。只需将它放在你的functions.php文件中就可以了。以下实现适用于自定义帖子类型和类别的归档。
{{1}}