如何为自定义帖子类型存档页面创建导航

Posted

技术标签:

【中文标题】如何为自定义帖子类型存档页面创建导航【英文标题】:How to create navigation for custom post type archive page 【发布时间】:2012-06-29 06:23:09 【问题描述】:

我有一个显示自定义帖子类型标题的模板。我在小组中有大约 60 个帖子。页面设置为每页显示 10 个帖子。这会产生六个页面来显示所有标题,但我无法让导航(逐页)正常工作。

在下面的代码中,我得到了返回的第一组标题,但单击“上一个”“下一个”链接仅显示同一组标题。 环顾四周,我找不到任何关于如何格式化模板以在自定义帖子类型的标题组之间导航的明确解决方案。 我确实发现 CPT 需要定义 max_num_pages。因此,如果我插入一个值来代替 $max_num_pages,我确实会得到一个结果,您可以从一个页面点击到另一个页面,但是一旦您到达列表的末尾,您就会点击一个空白页面。

    <h2>Glossary</h2>
     <?php $loop = new WP_Query( array( 'post_type' => 'glossary', 'posts_per_page' => 10, 'paged='.$paged, 'orderby' => 'title', 'order' => 'ASC' ) ); ?>
     <?php $max_num_pages=$loop->max_num_pages ?>
     <p>Maximum Number of Pages Value: <?php echo $max_num_pages;// This line for debug purposes only?></p>
                <?php if ( have_posts() ) : ?>
                <?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
                <div> 
        <h2><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2>
        </div>
                <?php endwhile; ?>
                    <div class="navigation">

<div class="alignleft"><?php next_posts_link('Previous entries',$max_num_pages) ?></div>
<div class="alignright"><?php previous_posts_link('Next entries',$max_num_pages) ?></div>

等等。

您使用什么代码允许用户从一组标题点击到另一组?

谢谢

【问题讨论】:

【参考方案1】:

尝试在您的 WP_Query 之前添加以下内容:

<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; ?>

【讨论】:

谢谢。不能解决问题。单击页面链接 'next' 'prev' 显示页面正在更改(通过回显 $page)但内容保持不变 - 即列表中的前 10 个标题。 如果将'paged='.$paged 替换为paged' =&gt; $paged 会怎样? 解决了。对于其他阅读本文的人,请记住您需要前面的引号,因此 'paged' => $paged 很高兴成功了!第一次我什至没有注意到它。

以上是关于如何为自定义帖子类型存档页面创建导航的主要内容,如果未能解决你的问题,请参考以下文章

如何为自定义帖子类型创建档案

使用 Wordpress,我如何创建一个链接到自定义帖子类型存档的新菜单项?

如何为我的自定义博客帖子创建档案?

Wordpress - 自定义帖子类型存档页面

无法获取自定义分类存档页面以显示帖子

Wordpress 在自定义帖子类型存档页面上按日期排序