最通用、最稳定、兼容所有 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' => '« 上一页',
'next_text' => '下一页 »',
'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' => '« 上一页',
'next_text' => '下一页 »',
'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;
}
四、使用步骤(一步都别错)
- 打开 WordPress 后台 → 外观 → 主题文件编辑器
- 找到
functions.php,把第一段分页函数粘贴到最底部 - 找到你要加分页的模板(首页 / 分类页),在文章循环结束后粘贴调用代码:
<?php wp_custom_pagination(); ?> - 打开
style.css,粘贴上面的 CSS 样式 - 保存刷新,分页就出来了!
总结
- 普通文章分页 → 用第一种代码,简单快捷
- 自定义页面 / 自定义文章类型 → 用第二种代码
- 样式直接复制 CSS 就能用,蓝色主题,简洁美观