文章多的分类页调了 paginate_links,页面上从 1 到 89 全部列出来,手机上一行放不下折成三行,把列表往下推了两屏。第一次遇到会往复杂处想,其实漏掉的多是个小前提。

echo paginate_links(array(
  'show_all' => false,
  'mid_size' => 2,
  'end_size' => 1,
));

分页函数默认参数里 show_all 被打开,或者 mid_size 给得太大,所有页码都输出。容器没有横向滚动,只能换行。这一点先确认清楚,后面就不用反复试。

碰到「分页数字换行」这类问题,我习惯先把当前配置原样备份一份,改坏了立刻换回来,不用现场推。新版本先放一台机器上跑一天再全量,问题一般在这段时间暴露。

备份不是备了就行,恢复一次才算数,很多备份文件打开才发现是空的。接口问题先分清是没发出去、发出去了没收到,还是收到了处理失败。

具体做法是,把 show_all 关掉,只保留首尾和当前页附近的几页;mid_size 设成二,end_size 设成一,中间用省略号;手机上再收一档,只留上一页下一页加页码输入。

改完照着核一遍,分页只显示七八个数字,手机上占一行,列表首屏位置不再被推下去。

作者 9823189