wordpress自定义帖子类型分页 - 以前的帖子链接显示以前没有帖子存在

时间:2013-10-14 19:22:14

标签: php wordpress pagination

关于自定义帖子类型和分页的很多问题,但据我所知,没有其他人有这个问题:

  • 创建的帖子类型 - 检查
  • 自定义存档页面的新查询 - 检查
  • 第一页完全正确加载 - 检查
  • 第二页显示应该发布的帖子 - 检查。但是:它仍然有以前的帖子链接。
  • 指向第3页,即使没有要显示的帖子

问题:帖子导航仍显示在第二页,允许点击第3页(4,5,6等) - 没有帖子。没有404,只是一个空白页面,好像循环仍然在无限的虚无之中循环。

代码:

<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$loop = new WP_Query( array(
'post_type' => 'portfolio',
'posts_per_page' => 10,
'paged'=>$paged
) ); ?>

<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
<article >
/*stuff in here */
 </article>

<?php endwhile; ?>

<div id="post-navigation">
<div class="nav-previous"><?php next_posts_link(__( 'Previous Projects' )) ?></div>
<div class="nav-next"><?php previous_posts_link(__( 'Next Projects' )) ?></div>
</div><!-- #post-navigation -->

其他信息:我正在使用archive-portfolio.php显示这个内容 - 没有空白页面可能会让人眼花缭乱。

在第1页,下一篇文章没有选项 - 所以这一半似乎正在运作,但之前只是让我永远回到过去,那里没有要显示的帖子。

非常感谢。

2 个答案:

答案 0 :(得分:0)

好的 - 太快问了。这是解决问题的代码。如果有人能告诉我为什么,那将是非常棒的。否则它就是货物崇拜......

<?php if (have_posts()) : ?>


<?php query_posts('post_type=portfolio&posts_per_page=10&caller_get_posts=1&paged='. $paged ); ?>

<?php while (have_posts()) : the_post(); ?>

<article  >

/*stuff in here */

</article>

<?php endwhile; ?>

<div id="post-navigation">
<div class="nav-previous"><?php next_posts_link(__( 'Previous Projects' )) ?></div>
<div class="nav-next"><?php previous_posts_link(__( 'Next Projects' )) ?></div>
</div><!-- #post-navigation -->
<?php else : endif; ?>

答案 1 :(得分:0)

试试这个:

您可以参考from here on wordpress codex

-

谢谢