WordPress添加简单自动分页

我们在制作 wordpress 主题模板时,经常会用到循环输出文章列表,但是文章列表太多就会有分页的问题,我们知道 wordpress 默认的只有前一页后一页,没有数字分页的功能,使用这种 WordPress 默认分页访客体验很不友好,下面是一种分页方法,十分好用,今天就分享纯代码实现的一点小小经验给大家。

  1. function get_pagenavi( $range = 4 ) {
  2.  global $paged,$wp_query;
  3.  if ( !$max_page ) {
  4.  $max_page = $wp_query->max_num_pages;
  5.  }
  6.  if( $max_page >1 ) {
  7.  if( !$paged ){
  8.  $paged = 1;
  9.  }
  10.  echo "<li>"; previous_posts_link('上一页');echo"</li>";
  11.  if ( $max_page >$range ) {
  12.  if( $paged <$range ) {
  13.  for( $i = 1; $i <= ($range +1); $i++ ) {
  14.  echo "<li><a href='".get_pagenum_link($i) ."'";
  15.  if($i==$paged) echo " class='current'";echo ">$i</a></li>";
  16.  }
  17.  }elseif($paged >= ($max_page -ceil(($range/2)))){
  18.  for($i = $max_page -$range;$i <= $max_page;$i++){
  19.  echo "<li><a href='".get_pagenum_link($i) ."'";
  20.  if($i==$paged)echo " class='current'";echo ">$i</a></li>";
  21.  }
  22.  }elseif($paged >= $range &&$paged <($max_page -ceil(($range/2)))){
  23.  for($i = ($paged -ceil($range/2));$i <= ($paged +ceil(($range/2)));$i++){
  24.  echo "<li><a href='".get_pagenum_link($i) ."'";if($i==$paged) echo " class='current'";echo ">$i</a></li>";
  25.  }
  26.  }
  27.  }else{
  28.  for($i = 1;$i <= $max_page;$i++){
  29.  echo "<li><a href='".get_pagenum_link($i) ."'";
  30.  if($i==$paged)echo " class='current'";echo ">$i</a></li>";

将上面的代码放在主题目录下的 function.php 中,在你需要的地方使用下面的代码调用:

  1.  <div class="pagination">
  2.  <ul>
  3.  <?php get_pagenavi();?>
  4.  </ul>
  5.  </div>

原创文章,作者:DavidWu,如若转载,请注明出处:https://www.davidwu.net/archives/97208

WordPress安全防护插件
服务项目 服务内容 收费标准(元)
开发定制 WordPress主题/插件开发定制 (以最终需求为准)
主题/插件汉化 汉化团队WordPress主题/插件,翻译率95% (以标的主题/插件的句子数量为准)
服务器环境配置 基于您现有服务器,搭建配置网站运行环境,结合我们多年来实战经验,可完美支持WordPress等PHP程序运行,并配置伪静态规则、优化目录权限等问题。服务器我们强烈推荐使用Linux系统。 100元/次
网站托管 若贵站目前尚无技术人员,无法完成服务器环境配置,可选择我们的网站托管服务,直接交付正常运行的WordPress站点,并且无需担心服务器的后续维护工作,一切都由我们来帮您完成。 标配套餐:1000元/年/站点 高配套餐:联系客服获取
网站加速优化 从服务器后端配置优化到WordPress数据库缓存、前端页面缓存、JS和CSS压缩合并,全方位优化网站加载速度,实现秒开。(此服务仅针对(云)服务器/VPS) 500元/次(仅站内优化200元/次)
主题配置 本站所有主题均支持,可快速实现,若有任何问题可以咨询客服解决,若您希望我们提供配置服务,可选购此服务。 英文主题安装 60元/次 汉化主题安装 30元/次
HTTPS配置 HTTPS已经不断普及,并且有着更高的安全性以及SEO上的优待。该服务收取的为服务费,SSL证书产生的费用请自行承担。 100元/次
网站搬家 迁移网站所有文件和数据库信息、网站相关配置的调整、以及迁移中的疑难问题故障排除。 标准收费:500元/次 若网站数据量大,需协商
网站运维 提供整站的运维服务,保证网站正常运行。包含:网站故障定位及排除、网站数据备份和恢复、网站攻击及木马等问题的处理等 标准收费:2000元/年 IP 5000以上需协商

发表评论

电子邮件地址不会被公开。 必填项已用*标注

51建站客服微信二维码
点击这里购买