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

如何为WordPress paginate_links的<a>标签加title属性以显示提示

为paginate_links生成的链接添加title属性的实现方案

WordPress的paginate_links()函数本身没有直接添加title属性的参数,不过可以通过以下两种实用方式实现需求:

方法一:正则替换处理返回字符串

先捕获分页链接的HTML结果,再用正则匹配不同类别的链接,插入对应的title属性。修改你的代码如下:

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

$args = array(
    'posts_per_page' => $ppframe,
    'category_name' => $cat_id,
    'paged' => $paged,
);

$the_query = new WP_Query( $args );

$big = 999999999; // 用一个不常见的整数占位
// 先获取分页链接的HTML字符串
$pagination_html = paginate_links( array(
    'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
    'format' => '?paged=%#%',
    'current' => max( 1, get_query_var('paged') ),
    'total' => $the_query->max_num_pages,
    'prev_text'    => '&larr;',
    'next_text'    => '&rarr;',
    'end_size'     => 3,
    'mid_size'     => 1,
    'before_page_number' => '',
    'after_page_number'  => ' • '
));

// 为普通页码链接添加「第X页」title
$pagination_html = preg_replace('/<a class="page-numbers" href="([^"]+)">(\d+)/', '<a class="page-numbers" href="$1" title="第$2页">$2', $pagination_html);

// 为下一页链接添加「下一页」title
$pagination_html = preg_replace('/<a class="next page-numbers" href="([^"]+)">/', '<a class="next page-numbers" href="$1" title="下一页">', $pagination_html);

// 可选:为上一页链接添加「上一页」title
$pagination_html = preg_replace('/<a class="prev page-numbers" href="([^"]+)">/', '<a class="prev page-numbers" href="$1" title="上一页">', $pagination_html);

echo '<div class="archiv-pager">';
echo $pagination_html;
echo '</div>';

WordPress提供了专门的过滤器,可以逐个修改分页链接的HTML,这种方式更健壮,避免正则匹配的潜在问题。

在主题的functions.php文件中添加以下代码:

add_filter('paginate_links_output', 'custom_pagination_add_title', 10, 2);
function custom_pagination_add_title($link, $page) {
    // 处理普通数字页码
    if (is_numeric($page)) {
        $link = str_replace('<a class="page-numbers', '<a class="page-numbers" title="第' . $page . '页"', $link);
    }
    // 处理下一页
    elseif ($page === 'next') {
        $link = str_replace('<a class="next page-numbers', '<a class="next page-numbers" title="下一页"', $link);
    }
    // 可选:处理上一页
    elseif ($page === 'prev') {
        $link = str_replace('<a class="prev page-numbers', '<a class="prev page-numbers" title="上一页"', $link);
    }
    return $link;
}

添加后,你原来的分页代码无需修改,过滤器会自动为对应链接插入title属性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 18:05:22