我创建了一个自定义页面模板,例如category.php,但我无法使分页工作。 我只是过滤一个类别的帖子。
这是我的代码:
<?php
/* Template Name: News */
?>
<?php get_header(); ?>
<div class="col-lg-9 col-md-8 content">
<div class="box">
<h1 class="title"><?php the_title(); ?></h1>
<div class="box-int">
<article>
<?php // Display blog posts on any page @ http://m0n.co/l
$temp = $wp_query; $wp_query= null;
$wp_query = new WP_Query(); $wp_query->query('showposts=5' . '&paged='.$paged);
while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
<?php
if (has_post_thumbnail()) {
the_post_thumbnail();
}
?>
<h2><a href="<?php the_permalink(); ?>" title="Read more"><?php the_title(); ?></a></h2>
<?php the_excerpt(); ?>
<br><br>
<?php endwhile; ?>
<?php if ($paged > 1) { ?>
<nav id="nav-posts">
<div class="prev"><?php next_posts_link('« Old'); ?></div>
<div class="next"><?php previous_posts_link('Newx »'); ?></div>
</nav>
<?php } else { ?>
<nav id="nav-posts">
<div class="prev"><?php next_posts_link('« Old'); ?></div>
</nav>
<?php } ?>
<?php wp_reset_postdata(); ?>
</article>
</div>
</div>
</div>
<div class="col-lg-3 col-md-4">
<?php get_sidebar(); ?>
</div>
<?php get_footer(); ?>
这里有什么问题?我点击第2页,但帖子总是一样的。
答案 0 :(得分:0)
你的查询在这里有些混乱,但也有一些语法错误。showposts
死于恐龙,很长时间都在折旧。您应该使用posts_per_page
。 'showposts=5' . '&paged='.$paged
也是一团糟。你查询shouls简化看起来像这样
$args = array(
'posts_per_page' => 5,
'paged' => $paged
);
$query = new WP_Query( $args );
while ($query->have_posts()) : $query->the_post(); ?>
使用WP_Query查询循环时,您需要将$max_pages
参数分配给next_posts_link()
。
因此您需要将<?php next_posts_link('« Old'); ?>
更改为<?php next_posts_link('« Old', $the_query->max_num_pages ); ?>
另请阅读this question关于此主题的内容。如果我错过了什么,这个问题肯定会帮助你很多。