【问题标题】:Wordpress pagination links empty on custom post type queryWordpress 分页链接在自定义帖子类型查询中为空
【发布时间】:2013-08-04 14:50:57
【问题描述】:

我已经访问了许多以前的条目,但仍然没有找到解决方案。其他人也有同样的问题,但他们的发现不适用于本案。所以我希望有人能给我这个问题的提示。 :(

所以我有一个自定义查询,并且已经添加到分页参数中:

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;

$snapshotargs=array(
    'posts_per_page' => 10,
    'post_type' => 'qd_galleries',
    'qd_galleries_cat' => 'snapshot',
    'paged' => $paged
);

$snapshotposts = new WP_Query( $snapshotargs);

然后,在关闭循环的 while 和 if(如 codex 中所述)之间,我放置了导航链接并重置了查询:

<?php } ?><!-- end while -->
    <nav id="page_nav">
        <?php get_previous_posts_link('More »') ?><br/>
        <?php get_next_posts_link('More »') ?>
    </nav>
<?php wp_reset_postdata(); ?>
<?php }; ?><!-- end if -->

我什至尝试使用next_posts_link() 而不是get_next_posts_link()

尽管有将近 150 个帖子要显示并且分页设置为 10,但它们都返回空白的空 page_nav div。

可能是什么问题?我错过了什么吗?

感谢您的支持!

【问题讨论】:

    标签: wordpress pagination custom-post-type


    【解决方案1】:

    这是您可以修改以满足您的需要的完整功能代码:

    // Note that on your site's blog page the query var is page, not paged
    // everywhere else it is paged 
    $curpage = (get_query_var('page')) ? get_query_var('page') : 1;
    $snapshotargs=array(
    'posts_per_page' => 10,
    'post_type' => 'qd_galleries',
    'qd_galleries_cat' => 'snapshot',
    'paged' => $curpage
    );
    
    query_posts($snapshotargs);
    $pagecount = $wp_query->max_num_pages;
    
    while(have_posts()):the_post();?>
        <h1><a href='<?php the_permalink();?>'><?php the_title();?></a></h1>
        <p> the_excerpt();?></p>
        <?php endwhile; ?>
    
    // Note that the pagination is outside of the loop
      <p class='pagination-links'>
       Showing page <?=$curpage;?> of <?=$pagecount;?>&nbsp;&nbsp;
       <?php previous_posts_link();?>&nbsp;&nbsp;<?= ($curpage > 1 && $curpage != $pagecount)?'|':'';?>&nbsp;&nbsp;<?php next_posts_link(); ?>
        </p>
    

    【讨论】:

    • 我看到你在 $pagecount 中添加了。我试过了,虽然这对我来说很有意义,但它不起作用:(。我又被卡住了。我在行中写道:$pagecount = $wp_query-&gt;max_num_pages; 并按照你告诉我的那样重写了导航链接。两者都返回仍然是空的并且$pagecount 为 0(我猜它应该在第一页上)。functions.php 中有什么东西可以防止分页吗???我无法想象为什么这不起作用:S。无论如何谢谢@wunderdojo .
    • 比你!添加 $pagecount 后,我​​的查询参数、循环和导航链接与您的完全相同。唯一的区别是查询本身。我正在使用 WP_Query 方法并将其更改为 query_posts(),就像在您的示例中一样,它起作用了。此外,我显然必须删除 reset_postdata 函数,以便下一页不再是同一个页面(这对我来说很愚蠢)。所以再次感谢@wunderdojo(很抱歉我还不能投票给你的回复)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-15
    • 2011-03-20
    • 2014-05-21
    • 2023-03-30
    相关资源
    最近更新 更多