WordPress 分页功能完整代码(直接可用)

最通用、最稳定、兼容所有 WordPress 主题的分页代码,分两种场景,你直接复制粘贴就能用!

一、文章列表分页(博客 / 文章页用)

这是最常用的分页,适合首页、分类页、标签页、文章归档页。

1. 完整分页代码

<?php
// WordPress 自定义分页函数
function wp_custom_pagination() {
    global $wp_query;
    $big = 999999999; // 定义一个超大数字
    
    $pagination = paginate_links(array(
        'base' => str_replace($big, '%#%', esc_url(get_pagenum_link($big))),
        'format' => '?paged=%#%',
        'current' => max(1, get_query_var('paged')),
        'total' => $wp_query->max_num_pages,
        'prev_text' => '&laquo; 上一页',
        'next_text' => '下一页 &raquo;',
        'type' => 'list', // 输出为列表,方便样式美化
        'mid_size' => 2, // 当前页左右显示2个页码
        'end_size' => 1, // 首尾各显示1个页码
    ));

    // 包装分页样式
    if ($pagination) {
        echo '<nav class="pagination-nav">';
        echo $pagination;
        echo '</nav>';
    }
}
?>

2. 调用方法

把上面的函数代码放到你主题的 functions.php 文件最底部,

然后在你需要显示分页的位置(比如 index.php、archive.php、category.php),粘贴这一行:

<?php wp_custom_pagination(); ?>

二、自定义查询分页(自定义页面 / 模板用)

如果你用了自定义 WP_Query(比如做了单独的产品列表、案例页),用这个版本:

1. 自定义查询 + 分页完整代码

<?php
// 自定义查询(你可以修改 post_type、posts_per_page 等参数)
$paged = get_query_var('paged') ? get_query_var('paged') : 1;
$args = array(
    'post_type' => 'post', // 文章类型:post/product/自定义类型
    'posts_per_page' => 10, // 每页显示数量
    'paged' => $paged,
    'post_status' => 'publish',
);

$custom_query = new WP_Query($args);

// 循环输出文章
if ($custom_query->have_posts()) :
    while ($custom_query->have_posts()) : $custom_query->the_post(); ?>
        
        <!-- 这里放你的文章标题/内容代码 -->
        <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
        <p><?php the_excerpt(); ?></p>
        
    <?php endwhile;

    // 自定义查询分页
    $big = 999999999;
    $pagination = paginate_links(array(
        'base' => str_replace($big, '%#%', esc_url(get_pagenum_link($big))),
        'format' => '?paged=%#%',
        'current' => max(1, $paged),
        'total' => $custom_query->max_num_pages,
        'prev_text' => '&laquo; 上一页',
        'next_text' => '下一页 &raquo;',
        'type' => 'list',
    ));

    if ($pagination) {
        echo '<nav class="pagination-nav">'.$pagination.'</nav>';
    }

    wp_reset_postdata(); // 重置查询
endif;
?>

三、简单 CSS 样式(让分页好看)

把这段代码放到主题的 样式文件(style.css) 里:

/* 分页样式 */
.pagination-nav {
    margin: 30px 0;
    text-align: center;
}
.pagination-nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: inline-block;
}
.pagination-nav ul li {
    display: inline-block;
    margin: 0 5px;
}
.pagination-nav ul li a,
.pagination-nav ul li span {
    padding: 8px 14px;
    border: 1px solid #ddd;
    border-radius: 4px;
    color: #333;
    text-decoration: none;
}
.pagination-nav ul li.current span {
    background: #007cba;
    color: #fff;
    border-color: #007cba;
}
.pagination-nav ul li a:hover {
    background: #f1f1f1;
}

四、使用步骤(一步都别错)

  1. 打开 WordPress 后台 → 外观 → 主题文件编辑器
  2. 找到 functions.php,把第一段分页函数粘贴到最底部
  3. 找到你要加分页的模板(首页 / 分类页),在文章循环结束后粘贴调用代码:<?php wp_custom_pagination(); ?>
  4. 打开 style.css,粘贴上面的 CSS 样式
  5. 保存刷新,分页就出来了!

总结

  1. 普通文章分页 → 用第一种代码,简单快捷
  2. 自定义页面 / 自定义文章类型 → 用第二种代码
  3. 样式直接复制 CSS 就能用,蓝色主题,简洁美观