欢迎您光临自学哈网,只为分享网络知识教程,供大家学习参考!

「自学哈网」不使用插件,实现WordPress分页功能

作者 : 自学哈 本文共1901个字,预计阅读时间需要5分钟 2022-11-6 共121人阅读
也想出现在这里? 联系我们

由于WordPress系统的差异性,很多时候我们能不使用插件就别使用插件。如何在不使用插件的情况下实现文章分页的效果?

网上不使用插件实现Wordpress功能的文章也很多,今天再补一个不使用插件实现翻页功能的函数代码。

WordPress默认翻页功能很弱,一页页翻,弄到你手麻,所以类似wp-pagenavi翻页插件,几乎是WordPress博客必装的插件,也是普及率很高的一款插件。

虽然网上有如何把wp-pagenavi插件集成到WordPress主题的教程,但wp-pagenavi插件函数代码拖沓,只是变相启用插件而已,并没有真正脱离wp-pagenavi插件。下面一段轻量级的函数,加上寥寥数行css样式就可以完全替代分页插件了。

具体实现方法:

首先将下面一段函数代码添加到主题的functions.php模板文件中:

//分页功能function pagination($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;   $prev = $paged - 1;   $next = $paged + 1;   $range = 2; // only edit this if you want to show more page-links   $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";   }   }  

接下来用下面的代码替换原来模板中默认翻页代码或分页插件代码:

<?php pagination($query_string); ?>  

最后再把下面的样式代码添加到style.css中,刷新一下页面,与使用插件实现的翻页效果一样。

.pagination{   line-height:23px;   }   .pagination span, .pagination a{   font-size:12px;   margin: 2px 6px 2px 0;   background:#fff;   border:1px solid #e5e5e5;   color:#787878;   padding:2px 5px 2px 5px;   text-decoration:none;   }   .pagination a:hover{   background: #8391A7;   border:1px solid #fff;   color:#fff;   }   .pagination .current{   background: #fff;   border:1px solid #8d8d8d;   color:#393939;   font-size:12px;   padding:2px 5px 2px 5px;   }  

上面的样式是我目前用的主题样式,根据不同的主题修改一下边框与背景,基本就可以了,之后删除分页插件。

本站声明:
本站所有资源来源于网络,分享目的仅供大家学习和交流!如若本站内容侵犯了原著者的合法权益,可联系邮箱976157886@qq.com进行删除。
自学哈专注于免费提供最新的分享知识、网络教程、网络技术的资源分享平台,好资源不私藏,大家一起分享!

自学哈网 » 「自学哈网」不使用插件,实现WordPress分页功能
也想出现在这里? 联系我们
© 2022 Theme by - 自学哈网 & WordPress Theme. All rights reserved 浙ICP备2022016594号