惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
D
DataBreaches.Net
F
Fortinet All Blogs
阮一峰的网络日志
阮一峰的网络日志
博客园_首页
Apple Machine Learning Research
Apple Machine Learning Research
H
Help Net Security
M
MIT News - Artificial intelligence
美团技术团队
人人都是产品经理
人人都是产品经理
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
The Cloudflare Blog
有赞技术团队
有赞技术团队
L
LangChain Blog
博客园 - Franky
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 【当耐特】
S
SegmentFault 最新的问题
V
Visual Studio Blog
Blog — PlanetScale
Blog — PlanetScale
Hugging Face - Blog
Hugging Face - Blog
B
Blog
I
InfoQ

winegrower | 种葡萄并酿酒的人

职业生涯也就如此了 漫步足迹功能 - winegrower 漫步足迹功能 上山老虎 - winegrower 上山老虎 归档页面调整 - winegrower 什么是幸福感? - winegrower 什么是幸福感? 又是一个夜晚 - winegrower 又是一个夜晚 葡萄酒香气轮 - winegrower 修改博客主题 - winegrower 修改博客主题 端午安康 - winegrower | 种葡萄并酿酒的人 端午安康 最近在折腾电脑 - winegrower | 种葡萄并酿酒的人 最近在折腾电脑 重要而敏感的话题 - winegrower | 种葡萄并酿酒的人 重要而敏感的话题 偶尔的闲暇时光 - winegrower | 种葡萄并酿酒的人 偶尔的闲暇时光 永久的博客 - winegrower | 种葡萄并酿酒的人 永久的博客 以后得早睡 - winegrower | 种葡萄并酿酒的人 以后得早睡 折腾10年前的网站 - winegrower | 种葡萄并酿酒的人 折腾10年前的网站 Openclaw发布测试 - winegrower | 种葡萄并酿酒的人 Openclaw发布测试 2026年春节假期旅行 - winegrower | 种葡萄并酿酒的人
归档页面调整
2026-07-11 · via winegrower | 种葡萄并酿酒的人

归档页面调整

   网络娱乐    博客   网站  

今天调整了 归档页面,正常归档页面 archive 都是每页显示 固定数量的文章,这样的话每个页面可能会包含的多个年份的文章,或者一个年份的文章分布在不同页面。

因为我的博客是个人博客,而且从2008年开始,几乎每年都会写文章,如果archive 页面不管一年有多少文章,按年份显示,这样更方便查阅自己的过去。

实现原理总结

目标 将归档页面从「每页显示 N 篇文章」改为「每页显示一整年的所有文章」,即 page=1 对应最近一年,page=2 对应次近一年,以此类推。 关键改动

  1. 数据获取方式不变,但处理逻辑重写 之前是:取全部文章 → 按文章数量分页(每页 20 篇)→ 循环输出,遇到不同年份就插一个年份标题。 现在是:取全部文章 → 按年份分组存入数组 → 年份去重并倒序排列 → page=N 映射到第 N 个年份 → 输出该年的所有文章。
  2. 核心数据结构

// 两层结构:年份 → 该年的文章列表

$postsByYear['2026'] = [
    ['permalink' => '...', 'title' => '文章名', 'created' => 1234567890],
      ...
  ];
  $postsByYear['2025'] = [
      ...
  ];

// 独立的年份数组(去重+按从新到旧排序)

$yearOrder = ['2026', '2025', '2024', ...];
  1. 年份映射公式 ┌────────┬──────────────────────────┐ │ 页码 │ 对应年份 │ ├────────┼──────────────────────────┤ │ page=1 │ $yearOrder[0] → 最新年份 │ ├────────┼──────────────────────────┤ │ page=2 │ $yearOrder[1] → 次新年份 │ ├────────┼──────────────────────────┤ │ page=N │ $yearOrder[N-1] │ └────────┴──────────────────────────┘ 这样每一页就是完整的一年,年份数量就是总页数。

Last modified on 2026-07-11