wordpress分页怎么设置

wordpress内置了很多分页的函数,我可以通过传参很方便的就完成分页功能,只要你有一些css的基础,很容易就可以实现各式各样的分页样式,我们来看看有哪些

一、paginate_links()

例:<?php echo paginate_links(array('prev_next'=> 0,'before_page_number'=>'','mid_size'=> 2,));?>

二、the_posts_pagination()

例:

<?php

the_posts_pagination( array('mid_size'=> 3,'prev_text'=>'上一页','next_text'=>'下一页','before_page_number'=>'<span class="meta-nav screen-reader-text">第</span>','after_page_number'=>'<span class="meta-nav screen-reader-text">页</span>',));?>

三、自定义函数,把以下代码放入主题目录functions.php中

//分页代码function par_pagenavi($range= 3){

global$paged,$wp_query;

if(!$max_page){$max_page=$wp_query->max_num_pages;}

if($max_page> 1){if(!$paged){$paged= 1;}

if($paged!= 1){echo"<a href='". get_pagenum_link(1)."' class='extend' title='跳转到首页'>«</a>";}

if($max_page>$range){

if($paged<$range){for($i= 1;$i<=($range+ 1);$i++){echo"<a href='". get_pagenum_link($i)."'";

if($i==$paged)echo" class='current'";echo">$i</a>";}}

elseif($paged>=($max_page- ceil(($range/2)))){

for($i=$max_page-$range;$i<=$max_page;$i++){echo"<a href='". get_pagenum_link($i)."'";

if($i==$paged)echo" class='current'";echo">$i</a>";}}

elseif($paged>=$range&&$paged<($max_page- ceil(($range/2)))){

for($i=($paged- ceil($range/2));$i<=($paged+ ceil(($range/2)));$i++){echo"<a href='". get_pagenum_link($i)."'";if($i==$paged) echo" class='current'";echo">$i</a>";}}}

else{for($i= 1;$i<=$max_page;$i++){echo"<a href='". get_pagenum_link($i)."'";

if($i==$paged)echo" class='current'";echo">$i</a>";}}

next_posts_link('»');}}

模板中调用方法:

<div id="page"><?php par_pagenavi(5);?></div>

附带一点css样式仅供参考:

#page{width:****;height:36px;line-height:36px;text-align:left;overflow:hidden;margin-left:auto;margin-right:auto;display:block;text-align:-moz-center;*text-align:center;text-align:center}#page a{text-decoration:none;color:#FFF;background:#282828;display:inline-block;padding:9px 12px;margin:0 5px 0 0;line-height:16px;margin-right:3px}#page a:hover,#page a.current{color:#FFF;background:#32a5e7}

工具:WordPress

步骤:

1、给WordPress文章编辑器添加显示分页按钮,默认没有添加,修改/wp-includes目录下的 class-wp-editor.php文件,在标签'wp_more',后面添加以下代码'wp_page',即可。

2、就可以在后台写文章及编辑文章页面的文本编辑器上看到一个跟 more标签按钮相似的图标,这个便是插入分页的按钮。

3、某个段落之前插入一个分页符,即把光标定位到要分页的位置,然后点击下分页按钮,就会自动插入一个分页符。

4、在主题模板文件 single.php中找到类似下面这行代码。<?php the_content();?>

在这行代码后面添加如下所示的代码,即可实现简单的分页功能。

</br><?php wp_link_pages(array('before'=>'<div class="fenye">文章分页:','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'=>"下一页"));?>

WordPress长文章分页的操作步骤:

**步:进入WordPress网站后台,在外观下找到“编辑”选项,然后找到文章页面模块single.php,在single.php中找到下面的代码

<?phpthe_content();?>

第二步:找到上面的代码之后,在其下方添加wordpress自带的分页功能函数代码:

<?phpwp_link_pages();?>

第三步:第二步的代码可以实现简单的分页效果,如果你想让分页按钮更加美观的话,可以将第二步的代码替换成下面的调用代码:

<?phpwp_link_pages(array('before'=>'<div>分页阅读:','after'=>'','next_or_number'=>'next','previouspagelink'=>'上一页','nextpagelink'=>""));?><?phpwp_link_pages(array('before'=>'','after'=>'','next_or_number'=>'number','link_before'=>'<span>','link_after'=>'</span>'));?><?phpwp_link_pages(array('before'=>'','after'=>'</div>','next_or_number'=>'next','previouspagelink'=>'','nextpagelink'=>"下一页"));?>

通过下面的CSS代码来控制分页按钮的显示样式,直接复制下面的CSS样式到style.css文件中,这样就可以实现下面的效果

/**页面分页**/

.fenye{text-align:center;margin:0pxauto10px;font-weight:bold}

.fenyespan{background-color:#DDDDDD;color:#fff;font-weight:bold;margin:0px1px;padding:1px6px;display:inline-block;text-decoration:none;border:1pxsolid#e0e0e0;}

.fenyea{text-decoration:none;}

.fenyeaspan{background-color:#F6F6E8;font-weight:normal;color:#000;text-decoration:none;}

.fenyea:hoverspan{background-color:#DDDDDD;color:#fff;}

第四步:在文章中需要分页的位置插入分页代码【必须在代码文本模式下插入】

<p><!--nextpage--></p>

第五步:如果觉得每次使用分页代码比较麻烦,可以通过在编辑器上方添加一个“分页按钮”来使用,即在文章中需要分页的地方点一下“分页按钮”就会自动的添加分页代码。【此步可做可不做】

1、找到/wp-includes/class-wp-editor.php文件。查找‘wp_more’,标签:(在366行处)

$mce_buttons=***ly_filters('mce_buttons',array('bold','italic','strikethrough','¦','bullist','numlist','blockquote','¦','justifyleft','justifycenter','justifyright','¦','link','unlink',<SPANstyle="TEXT-DECORATION:underline"><STRONG><SPANstyle="COLOR:#ff0000;TEXT-DECORATION:underline">'wp_more',</SPAN></STRONG></SPAN>'¦','spellchecker','fullscreen','wp_adv'),$editor_id);

2、在‘wp_more’后添加‘wp_page’,(含单引号和逗号)。修改后代码如下:

$mce_buttons=***ly_filters('mce_buttons',array('bold','italic','strikethrough','¦','bullist','numlist','blockquote','¦','justifyleft','justifycenter','justifyright','¦','link','unlink',<SPANstyle="TEXT-DECORATION:underline"><STRONG><SPANstyle="COLOR:#ff0000;TEXT-DECORATION:underline">'wp_more','wp_page',</SPAN></STRONG></SPAN>'¦','spellchecker','fullscreen','wp_adv'),$editor_id);

3、此时,你就可以在后台写文章及编辑文章页面的文本编辑器上看到一个跟 more标签按钮相似的图标。

同样,在代码编辑器也会相应出现一个 nextpage按钮。

第六步:消除分类后不同页面的文章的标题相同的问题,避免影响网站SEO优化。在主题模板文件 header.php找到类似<title>……</title>代码,将其替换为如下代码。

<?phpif(is_single()){?><title><?phpechotrim(wp_title('',0));?><?phpif(get_query_var('page')){echo'-第';echoget_query_var('page');echo'页';}?>—<?phpbloginfo('name');?></title><?php}?>

第七步:实现分页功能后,会导致Feed页面的文章被分页,一般只显示**页的内容,解决方法:打开 wp-includes目录下的 query.php文件,找到下面这行代码(大概在3578行)

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

把它修改为下面这行代码。

if(strpos($content,'<!--nextpage-->')&&(!is_feed())){

相关文章
在线客服
微信联系
客服
扫码加微信(手机同号)
电话咨询
返回顶部