博客 / WordPress/ 无需插件:在 WordPress 中实现文章分页的完整指南

无需插件:在 WordPress 中实现文章分页的完整指南

无需插件:在 WordPress 中实现文章分页的完整指南

在 WordPress 中实现文章分页(无需插件)

WordPress 内置了文章分页功能,允许你将一篇长文章分割成多个页面。实现此功能无需安装任何插件,只需进行简单的代码配置即可。以下是完整的实现步骤。

第一步:在编辑器中启用分页按钮

默认情况下,经典编辑器(TinyMCE)的分页按钮可能未显示。你需要将其添加到工具栏中。

打开你当前主题的 functions.php 文件,在文件末尾添加以下代码:

function enable_more_buttons($buttons) {
    $buttons[] = 'wp_page';
    return $buttons;
}
add_filter("mce_buttons_3", "enable_more_buttons");

保存文件后,刷新 WordPress 后台。在经典编辑器的第三行工具栏中,你将看到“插入分页标签”按钮(图标通常为两个矩形中间有一条虚线)。

注意: 如果你使用的是古腾堡(Gutenberg)区块编辑器,分页功能已内置。在编辑文章时,只需添加“分页符”区块即可。

第二步:在主题模板中输出分页链接

仅仅在文章中插入分页符是不够的,你还需要在主题模板中调用函数来显示页面导航链接。

找到你当前主题的 single.php 文件(或用于显示单篇文章的主模板文件)。定位到输出文章内容的代码,通常是:

<?php the_content(); ?>

在这行代码的下方,添加以下代码:

<?php wp_link_pages(); ?>

保存文件。现在,当你撰写文章并使用分页按钮后,文章底部就会显示默认的分页导航,效果是简单的数字页码链接。

第三步:自定义分页导航样式与布局

默认的分页样式可能不符合你的设计需求。WordPress 的 wp_link_pages() 函数提供了丰富的参数来自定义输出。以下是几种常见的自定义方案。

方案一:带“上一页/下一页”的紧凑导航

此方案将“页面:”提示、数字页码以及“上一页/下一页”链接组合在一起显示。

<?php
wp_link_pages(array(
    'before' => '<div class="wp-pagenavi"><p><span class="pages">页面:</span>',
    'after' => '</p></div>',
    'link_before' => '<span class="page-number">',
    'link_after' => '</span>',
    'next_or_number' => 'number',
    'pagelink' => '%'
));
?>
<?php
wp_link_pages(array(
    'before' => '<div class="single-navi">',
    'after' => '</div>',
    'next_or_number' => 'next',
    'previouspagelink' => '&laquo; 上一页',
    'nextpagelink' => '下一页 &raquo;'
));
?>

方案二:“上一页/下一页”分居两侧

此方案将“上一页”链接放在左侧,数字页码放在中间,“下一页”链接放在右侧,布局更清晰。

<div class="post-pagination">
    <?php
    // 输出“上一页”链接
    wp_link_pages(array(
        'before' => '',
        'after' => '',
        'next_or_number' => 'next',
        'previouspagelink' => '&laquo; 上一页',
        'nextpagelink' => ''
    ));
    ?>
    <?php
    // 输出数字页码
    wp_link_pages(array(
        'before' => '',
        'after' => '',
        'next_or_number' => 'number',
        'link_before' => '<span>',
        'link_after' => '</span>'
    ));
    ?>
    <?php
    // 输出“下一页”链接
    wp_link_pages(array(
        'before' => '',
        'after' => '',
        'next_or_number' => 'next',
        'previouspagelink' => '',
        'nextpagelink' => '下一页 &raquo;'
    ));
    ?>
</div>

提示: 以上代码中的 HTML 类名(如 wp-pagenavi, single-navi)可用于添加 CSS 样式,以美化导航外观。

wp_link_pages() 函数参数详解

理解函数的参数有助于你进行更灵活的自定义。以下是核心参数的说明:

  • before (字符串):在所有分页链接之前输出的 HTML 或文本。默认是 <p>Pages:
  • after (字符串):在所有分页链接之后输出的 HTML 或文本。默认是 </p>
  • link_before (字符串):在每个单个页码链接之前输出的 HTML 或文本。默认为空。
  • link_after (字符串):在每个单个页码链接之后输出的 HTML 或文本。默认为空。
  • next_or_number (字符串):控制链接类型。
    • 'number' (默认):显示数字页码。
    • 'next':显示“上一页”和“下一页”链接。
  • nextpagelink (字符串):“下一页”链接的文本。默认是“Next page”。
  • previouspagelink (字符串):“上一页”链接的文本。默认是“Previous page”。
  • pagelink (字符串):页码链接的格式字符串,% 会被替换为页码数字。默认是 %
  • echo (布尔值):是否直接输出结果。
    • true1 (默认):直接输出 HTML。
    • false0:返回 HTML 字符串,供其他 PHP 代码使用。

通过组合这些参数,你可以创建出几乎任何样式的文章分页导航,完美融入你的网站设计。

发表评论

您的邮箱不会公开。必填项已用 * 标注。