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

如何将WordPress上下文章分页导航文字替换为页面标题?

嘿,要把分页导航的固定文字换成对应分页页面的标题,咱们得稍微调整一下代码——因为previous_posts_link()和next_posts_link()这俩函数只能直接输出带固定文本的链接,没法动态获取页面标题。咱们手动构建链接和标题就行,具体方案如下:

修改后的完整代码

替换你原来的代码块,用下面这段:

<div class="nav-next">
    <?php
    if ( previous_posts() ) {
        $prev_page_num = max( get_query_var('paged') - 1, 1 );
        $archive_title = get_the_archive_title();
        // 第一页的标题不带页码,后续分页自动添加页码后缀
        $prev_title = $prev_page_num === 1 
            ? $archive_title 
            : sprintf( __( '%s - Page %d', 'azurebasic' ), $archive_title, $prev_page_num );
        ?>
        <a href="<?php echo esc_url( get_previous_posts_page_link() ); ?>">
            <span class="meta-nav">&larr;</span> <?php echo esc_html( $prev_title ); ?>
        </a>
    <?php } ?>
</div>

<div class="nav-previous">
    <?php
    if ( next_posts() ) {
        $next_page_num = get_query_var('paged') === 0 ? 2 : get_query_var('paged') + 1;
        $archive_title = get_the_archive_title();
        $next_title = sprintf( __( '%s - Page %d', 'azurebasic' ), $archive_title, $next_page_num );
        ?>
        <a href="<?php echo esc_url( get_next_posts_page_link() ); ?>">
            <?php echo esc_html( $next_title ); ?> <span class="meta-nav">&rarr;</span>
        </a>
    <?php } ?>
</div>

代码逻辑说明

  • 先通过previous_posts()和next_posts()判断是否存在上/下一页,避免输出空的导航容器;
  • 获取当前分页页码paged,计算出对应上/下一页的页码:
    • 上一页页码如果减到0,自动设为1(对应归档的第一页);
    • 下一页如果当前是第一页(paged为0),则页码直接设为2;
  • 用get_the_archive_title()获取当前归档页面的基础标题(比如分类名、标签名或日期归档标题),然后根据页码拼接完整标题:第一页直接用基础标题,后续分页自动加上“- Page X”的后缀;
  • 最后用get_previous_posts_page_link()和get_next_posts_page_link()获取分页链接,手动构建带标题的<a>标签,同时保留了你原来的meta-nav图标样式。

这样修改后,分页导航就会显示对应页面的实际标题啦,比如分类页的第二页会显示“我的分类 - Page 2”,第一页的上一页(如果存在)就直接显示“我的分类”。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:53:51