加入收藏 | 设为首页 | 会员中心 | 我要投稿 拼字网 - 核心网 (https://www.hexinwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

将为wordpress主题实现首页与分类页的分页

发布时间:2022-06-21 07:29:16 所属栏目:教程 来源:互联网
导读:制作wordpress主题时,首页、分类页、搜索页的分页效果是需要考量的,尤其是wordpress博客类主题,首页也是需要考虑在内的。如果分页设置不好,就有可能出现有些分页出现404的现象,我就曾经碰到过这样一个主题:首页分页效果正常,分类页后几页出现404现象
  制作wordpress主题时,首页、分类页、搜索页的分页效果是需要考量的,尤其是wordpress博客类主题,首页也是需要考虑在内的。如果分页设置不好,就有可能出现有些分页出现404的现象,我就曾经碰到过这样一个主题:首页分页效果正常,分类页后几页出现404现象。下面提供2种方案分页。

       方案1、首页与分类页分页分开放到2个不同的勾子里。
 
  首页与分类文章每页数量分开来设置:
 
  //限制首页文章每页数量
  function custom_posts_per_page($query){
  if(is_home()){
  $query->set('posts_per_page',8);//首页每页显示8篇文章
  }
  }
  add_action('pre_get_posts','custom_posts_per_page');
  
  //限制分类页文章每页数量
  function custom_posts_per_page2($query){
  if(is_archive()){
  $query->set('posts_per_page',25);//archive每页显示25篇文章
  }//endif
  }
  add_action('pre_get_posts','custom_posts_per_page2');
  这样,就不需要在循环中来设置每页显示文章数量,避免“最后一页404”的情况发生。

  方案2:首页与分类页的分页放到1个勾子里。
 
  在function.php文件里添加如下代码:
 
  function custom_posts_per_page($query){
  if(is_home()){
  $query->set('posts_per_page',8);//首页每页显示8篇文章
  }
  if(is_search()){
  $query->set('posts_per_page',-1);//搜索页显示所有匹配的文章,不分页
  }
  if(is_archive()){
  $query->set('posts_per_page',25);//archive每页显示25篇文章
  } //phpfensi.com
  }
  add_action('pre_get_posts','custom_posts_per_page');

  注:在列表循环 query_posts()中,不要再使用posts_per_page来限制数量,可以使用showposts 来限制。
 
 

(编辑:拼字网 - 核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!