WordPress文章分页wp_link_pages()函数详解

对于一篇较为长的文章来说,单页阅读已经不再适用于她,不仅会令访客产生不适的感觉,对我们文章页面的排版也是很不友好。这时候我们急需要对文章进行分页,但WordPress默认的分页却不能令我们满意。

WordPress自身带有文章分页功能,可能该功能不被博主们常用,在默认的TinyMCE编辑器下给隐匿了。你可以尝试编辑文章时在HTML视图下插入短码<!–nextpage–>,看看你的主题有没有分页效果,没有也没关系,看了本文就知道了。

文章分页函数说明

<?php wp_link_pages( $args ); ?>

数组函数说明:

 

<?php $args = array(
‘before’ => ‘<p>’ . __(‘Pages:’),//分页导航前,可写文字,可设置样式
‘after’ => ‘</p>’,//分页导航闭合
‘link_before’ => ,
‘link_after’ => ,
‘next_or_number’ => ‘number’,//下一页还是页码
‘nextpagelink’ => __(‘Next page’),//下一页链接
‘previouspagelink’ => __(‘Previous page’),//上一页链接
‘pagelink’ => ‘%’,//页码链接
‘more_file’ => ,
‘echo‘ => 1 ); ?>

 

如何实现文章分页

文章分页的形式我们举例说明三种,具体样式不做说明,自己DIY。根据自己的需要选择使用,在主题single.php中找到以下代码,在此处代码的下面粘贴上你选择的文章分页形式。

  1. <?php the_content(); ?>

编辑文章时在HTML视图下插入以下文章分页段码即可实现文章分页。

<!–nextpage–>

形式一:page 1 2 3

<?php wp_link_pages(‘before=<div id=”page-links>&after=</div>&next_or_number=number&pagelink=page %’); ?>

说明:页码通过before和after加载page-links的样式

 

形式二:上一页 下一页

<?php wp_link_pages(‘before=<strong>&after=</strong>&next_or_number=next&previouspagelink=上一页&nextpagelink=下一页’); ?>

说明:通过上下页翻页,样式加粗

 

形式三:上一页 1 2 3 下一页

以下代码我进行了重新修订,加入了判断句,解决了文章没有分页时代码占位的情况。以上两组没做修改,请根据以下代码修改。

 

<?php if ( $numpages > ‘1’ ) {
wp_link_pages(‘before=<strong>&after=</strong>&next_or_number=next&previouspagelink=上一页&nextpagelink=&nbsp’);
wp_link_pages(‘before=<span class=“wp-pagenavi”>&after=</span>&next_or_number=number’);
echo “&nbsp;”;
wp_link_pages(‘before=<strong>&after=</strong>&next_or_number=next&previouspagelink=&nbsp&nextpagelink=下一页’);
} ?>

 

说明:上下页翻页加粗,页码加载wp-pagenavi样式

后续:feed输出不全

在使用文章分页后会出现一个问题,就是feed输出不全,仅会输出文章页面第一页,这样会影响通过rss订阅者的阅读。解决方法如下:

找到“wp-includes”目录下的“query.php”,查找到以下的语句:

 if ( strpos$content, ‘<!–nextpage–>’ ) ) {

将其修改为:

 if ( strpos$content, ‘<!–nextpage–>’ ) && ( !is_feed() ) ) {