北极寒流 » 网络资源 » WordPress日志分页(文章分页)的完美解决方法 - 2011.01.25

WordPress日志分页(文章分页)的完美解决方法

WordPress日志分页(文章分页)的完美解决方法来自网络上众多不同日志分页方法的整合。wordpress文章如果太长的话,一个是影响阅读,再一个是影响网页载入速度,特别是对于那种很多图片的网页,更是有分页的必要。

一般情况下大家都是采用 WordPress 标签 <!--nextpage--> 来对文章内容进行分页的,<!--nextpage--> 使用方法和 <!--more--> 差不多,不过 <!--more--> 只能使用一次, <!--nextpage--> 可以使用多次.只要在每个需要进行分页的地方插入 <!--nextpage--> ,就可以将文章分为多页.如果你在文章中已经添加了 <!--nextpage--> 却没有显示出分页来,那么你就需要在相关的模板文件中加入一个函数.

在主题中找到文件 single.php ,找到类似下面的代码:

<?php the_content(); ?>

然后在后面加上:

<?php wp_link_pages(); ?>

这时候如果你的文章中添加了<!--nextpage--> 代码,那么就可以实现分页效果了,默认情况下的分页效果见下图。

希望分页链接显示为"page 1 page 2 page 3"的日志分页代码

<?php wp_link_pages('before=<p>&after=</p>&next_or_number=number&pagelink=page %'); ?>

是不是觉得这几种效果都太简单了呢?那你自己设计div内分页链接的样式(这个就要自己写css了)

<?php wp_link_pages('before=<div id="page-links">&after=</div>'); ?>

如果你想增加如"上一页""下一页"等一些选项,那就需要对 wp_link_pages 进行修改了.这是"上一页""下一页"在一块的效果

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

其中的css样式表你就自己看着办了。

这又是另外一种日志分页效果:,代码见下面

<?php wp_link_pages('before=&after=&next_or_number=next&previouspagelink=上一页&nextpagelink=&nbsp'); wp_link_pages('before=&after=&next_or_number=number'); echo "&nbsp;"; wp_link_pages('before=&after=&next_or_number=next&previouspagelink=&nbsp&nextpagelink=下一页'); ?>

上面的那种效果还可以用另外一种代码实现:

<?php wp_link_pages(array('before' => '<div class="Pages">>文章分页:', 'after' => '', 'next_or_number' => 'next', 'previouspagelink' => '上一页', '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' => '</div>', 'next_or_number' => 'next', 'previouspagelink' => '', 'nextpagelink' => "下一页")); ?>

附上自己正在用的日志分页代码吧:

<?php
my_wp_link_pages('before=<div>&after=&next_or_number=number&link_before=<span>&link_after=</span>');
my_wp_link_pages('before=&after=</div>&next_or_number=next&previouspagelink=上一页&nextpagelink=下一页&link_before=<span>&link_after=</span>');
?>

CSS样式:

/* fenye*/
.fenye{text-align:center;margin:0px auto 10px;}
.fenye span{background-color:#C73503;color:#fff;font-weight: bold;margin:0px 1px;padding:3px 6px;text-decoration:none;border:1px solid #D2D2D2;}
.fenye a{text-decoration:none;}
.fenye a span{background-color:#F6F6E8;font-weight: normal;color: #000;text-decoration: none;}
.fenye a:hover span{background-color:#c73503;color: #fff;}

大家自己喜欢那种就用哪种,CSS也可以按你自己的喜好来定制。北极鱼自己的日志分页效果请见这篇文章http://www.epinv.com/post/2034.html

wp_link_pages 的函数 (官方文档)

<?php wp_link_pages( $args ); ?>

参数:
before
(字符串)所有链接前的文本。默认为<p>pages:。
after
(布尔)所有链接后的文本 。默认为</p>。
link_before
(字符串)单个链接文本前的文本。默认为空。(要求2.7或之后的版本)
link_after
(字符串)单个链接文本后的文本。默认为空。(要求2.7或之后的版本)next_or_number
(字符串)是否指明页面数。值:number -(默认)即显示页面数;next -(要求1.5或之后的版本)
nextpagelink
(字符串)链接到下一页的文本。默认为Next page。(要求1.5或之后的版本)previouspagelink
(字符串)链接到上一页的文本。默认为Previous page。(要求1.5或之后的版本)pagelink
(字符串)页面数的字符串格式。默认为%,它可以生成诸如”1″,”2″这类数字。more_file
(字符串)链接应指向的页。默认为当前页。
echo
(布尔)是否输出或返回结果。1 -是(默认);0 -否