// 月光博客风格标准分页函数
function simplepro_pagination() {
global $wp_query;
$total_pages = $wp_query->max_num_pages;
// 仅多页时展示分页
if ($total_pages <= 1) return;
$current_page = max(1, get_query_var('paged'));
$pages = paginate_links(array(
'base' => str_replace(999999999, '%#%', esc_url(get_pagenum_link(999999999))),
'format' => '?paged=%#%',
'current' => $current_page,
'total' => $total_pages,
'prev_text' => '« 上一页',
'next_text' => '下一页 »',
'type' => 'array',
'end_size' => 1,
'mid_size' => 2
));
if (is_array($pages)) {
echo '<div class="post-pagination" style="margin:40px auto; text-align:center;">';
foreach ($pages as $page_html) {
// 判断是否为当前页(无a标签,仅span)
if (str_contains($page_html, 'current')) {
// 提取纯数字文本
$page_text = wp_strip_all_tags($page_html);
echo '<span style="display:inline-block; padding:6px 12px; margin:0 4px; background:#333; color:#fff; border-radius:2px;">' . esc_html($page_text) . '</span>';
} else {
// 可点击项:保留完整a标签,只追加行内样式,不删除href
$styled_link = str_replace('<a ', '<a style="display:inline-block; padding:6px 12px; margin:0 4px; border:1px solid #ddd; color:#333; text-decoration:none; border-radius:2px;" ', $page_html);
echo $styled_link;
}
}
echo '</div>';
}
}
将以上函数直接复制到function.php的最后。然后再将下面的输入显示代码替换掉在原来的
原代码:<?php the_posts_navigation(); ?>
替换为:<?php simplepro_pagination(); ?>
这样就可以完善显示页面页码,上一页,下一页。