You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

分页控件可显示但无法跳转至第二页,点击后URL不追加/page/2/求助

解决WordPress分页无法跳转到第二页的问题

嘿,我看你遇到了分页点击第二页没反应的问题——鼠标悬停显示/page/2/但点击后路径没变化,这大概率是因为你用query_posts时没正确处理分页参数,而且这个函数本身就容易干扰主查询的分页逻辑。下面给你拆解问题和修复方案:

问题出在哪?

  • query_posts会直接替换WordPress的主查询全局变量,你没在查询参数里加入分页(paged)参数,导致点击分页链接时,系统识别不到当前要跳的页码,自然没法正确跳转。
  • 另外,你用的showposts是旧版参数,现在官方推荐用posts_per_page代替啦。

修复方案:改用WP_Query(官方推荐的自定义查询方式)

我们换用WP_Query来做自定义查询,这样不会打乱主查询的分页逻辑,同时手动传递分页参数:

修改后的完整代码

<?php if ($type == "events" ) { ?>
<div class="row">
    <h4>Filter:</h4>
    <?php 
    // 获取当前页码,默认显示第1页
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    // 创建自定义查询,带上分页参数
    $events_query = new WP_Query(array(
        'post_type' => 'events',
        'posts_per_page' => 1, // 替换旧的showposts参数
        'paged' => $paged, // 关键:传递分页参数,让系统识别当前页码
    ));
    ?>
    <ul>
        <?php while ($events_query->have_posts()) : $events_query->the_post(); ?>
            <li>
                <h2><?php the_title(); ?>&...</h2>
            </li>
        <?php endwhile; ?>
    </ul>
    <?php 
    // 输出标准分页导航(如果之前没写的话)
    the_posts_pagination(array(
        'mid_size' => 2,
        'prev_text' => '上一页',
        'next_text' => '下一页',
    ));
    // 重置查询,避免影响后续模板的内容输出
    wp_reset_postdata();
    ?>
</div>
<?php } ?>

几个关键改进点

  1. 用WP_Query替代query_posts:这是WordPress官方推荐的自定义查询方法,不会破坏主查询的全局状态,分页逻辑自然能正常工作。
  2. 添加paged参数:通过get_query_var('paged')获取当前页码,确保点击分页链接时,系统能知道要跳转到哪一页。
  3. 替换showposts为posts_per_page:showposts已经被废弃了,用posts_per_page才是符合当前WordPress版本的写法。
  4. 调用wp_reset_postdata():自定义查询结束后一定要重置全局的$post变量,不然后面的模板函数(比如the_title())可能会输出错误的内容。
  5. 标准分页导航:用the_posts_pagination()生成的分页链接会自动处理/page/2/这样的路径,不用自己手动写链接了。

额外要注意的小细节

  • 如果你之前是手动写的分页链接,要确保链接里的paged参数正确传递,比如链接要包含?paged=2或者对应固定链接格式的/page/2/。
  • 检查下后台的固定链接设置:如果选的是“文章名称”模式,分页链接会自动生成/page/2/的格式,要是设置不对也可能导致分页失效哦。

内容的提问来源于stack exchange,提问作者user2751645

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:32:07