wordpress page显示未找到页面_如何给wordpress网站的文章列表,添加分页效果?可以通过2种方式...

在上一章节中,我们为wordpress网站的首页添加了全站文章列表。一个wordpress网站不可能只有几篇文章,可能会有成千上万的文章,作为一个wordpress博客主题模板,一般情况下,不可能让所有的文章在一个页面一下子全部显示出来,如果真这样,网页的负载会非常大。正确的处理方式,是先显示最前面的十几篇或二十几篇文章,然后,“点击一个分页按钮”或者“鼠标向下滚动触发一个事件”后,再显示后面的十几篇或二十几篇文章,以此类推。本节,我们来介绍“如何给wordpress网站的文章列表添加分页效果”,一起来看看吧。

方法一:给wordpress网站模板添加自定义分页函数。

在wordpress网站模板的functions.php文件中添加如下代码:

//分页函数
function pages($query_string){
global $posts_per_page, $paged; //全局变量
$my_query = new WP_Query($query_string ."&posts_per_page=-1"); //创建查询对象
$total_posts = $my_query->post_count; //通过查询对象获取文章总数
if(empty($paged)) $paged = 1; //当前页码数,如是$paged为空,就让$paged=1
$prev = $paged - 1; //上一页变量
$next = $paged + 1; //下一页变量
$range = 4; //
$showitems = ($range * 2)+1; //显示多少个分页页码按钮
$pages = ceil($total_posts/$posts_per_page); //获取总页数
if(1 != $pages){
echo "<div class='pagination'>";
echo ($paged > 2 && $paged+$range+1 > $pages && $showitems < $pages)? "<a href='".get_pagenum_link(1)."'>最前</a>":"";
echo ($paged > 1 && $showitems < $pages)? "<a href='".get_pagenum_link($prev)."'>上一页</a>":"";
for ($i=1; $i <= $pages; $i++){
if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems )){
echo ($paged == $i)? "<span class='current'>".$i."</span>":"<a href='".get_pagenum_link($i)."' class='inactive' >".$i."</a>";
}
}
echo ($paged < $pages && $showitems < $pages) ? "<a href='".get_pagenum_link($next)."'>下一页</a>" :"";
echo ($paged < $pages-1 && $paged+$range-1 < $pages && $showitems < $pages) ? "<a href='".get_pagenum_link($pages)."'>最后</a>":"";
echo "</div>n";
}
}

然后,在wordpress网站前台模板的文章列表的代码下方调用这个分页函数,代码如下:

<?php pages($query_string); //列表分页 ?>

f61e89dd5f1cb34cac622f622b254ab3.png

然后,我们就可以在wordpress网站的文章列表下方看到分页按钮。如果想要样式好看一点,可以对分页按钮添加CSS样式,来进行美化一下。

方法二:使用wordpress自带的分页函数。

为了更方便wordpress网站模板开发者开发模板主题,wordpress从4.0版本开始,就提供了一个分页函数the_posts_pagination(),通过这个函数,我们同样可能实现wordpress网站的文章列表的分页效果。代码如下:

the_posts_pagination( array(
'mid_size' => 3, //当前页码数的 两边 显示几个页码。
'prev_text' =>'<', //上一页
'next_text' =>'>', //下一南
) );

这个函数跟wordpress其wp_list_pages()等函数类似,有一个参数,这个参数可是一个数组类型(如上面的代码,参数就是数组类型),也可以是一个字符串类型,上面的的代码的参数修改成字符串类型后,如下:

the_posts_pagination("mid_size=3&prev_text=<&next_text=>");

bd976c177c85a9398a78245360fb5fed.png

是使用字符串类型,还是使用数组类型,主要根据开发者的个人爱好,我个人还是比较喜欢用数组类型,看起来比较清楚。

在wordpress网站模板开发中,使用上面任何一种方式来添加文章列表的分页效果都可以,不过,我个认还是建议使用wordpress自带的函数the_posts_pagination(),对开发更省事,效率更高,而且是wordpress自己的函数,后期都不需要维护。如果想让分页按钮布局更加个性化,可以考第一种方式。

如何还有什么不太明白的,或者你想了解什么,可以在下面评论中给我留言。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值