给Typecho博客添加QQ空间“那年今日”功能

2022-03-25 昆明


两年多前,给博客添加了“昔日”功能,类似于QQ空间的“那年今日”。对于当时使用QQ空间的用户来说,“那年今日”是一项没有得到完善就草率上线的新功能,是备受争议的:

有人认为自己的隐私,甚至已经删除的黑历史,在不经许可的情况下,被强制展现出来,被冒犯了。 

有人觉得也挺有趣的,能够重温过往的小感动,看到逗比矫情的自己,与今时今日对比,在成长着。

在用户褒贬不一的使用反馈下,“那年今日”在升级中有了更多的“自主选择权”……

回到Typecho,与博客常用的随机文章、相关推荐功能不同,“昔日”是通过时间维度,把每年相同月日所发布的文章串联起来。


思路
1、使用博客现有的功能让操作简单化。

2、每篇文章需要一个具有共性的标记,如分类、标签、自定义字段或者内容等。

3、这个标记能便捷添加在每篇文章中。

4、具有共性标记的文章,最终通过(archive)页面,使用“搜索”的方式呈现出来。

这么分析对比下来,如果使用标签(tags)作为每篇文章的共性标记,就会产生365个日期标签,显得冗长;如果使用自定义字段(fields),现有的博客搜索功能又无法对其起作用,除非修改核心代码,新增搜索范围。

嗯,只能使用比较绕的方法:在每篇文章内容中添加时间关键词,即以上提到的“共性标记”。


方法

1、在每篇文章中,根据不同的发布时间,添加统一的日期格式。为了美观,可以使用CSS将其隐藏。

日期格式:

其中,Mar代表“三月”,25代表“25日”。逢个位“日”时,用零补上,如:

2、在文章页post.php中,根据喜好位置添加链接a标签代码,跳转至搜索呈现页面(archive):

<a href="<?php $this->options->siteUrl(); ?>search/<?php $this->date('M d'); ?>/">昔日</a>

如果博客链接带有 index.php 则使用以下代码

<a href="<?php $this->options->index(); ?>search/<?php $this->date('M d'); ?>/">昔日</a>

演示

博客内任意一篇文章页翻篇处的“昔日”,比如本页的“昔日”。


后记

博客中的“昔日”(那年今日)功能,已替换使用更为便捷的方式实现:不需要像以上提到的,在每篇文章中添加统一的日期格式,只要一次性改造搜索页面即可实现。

电邮 lopwon@qq.com 付费改造。

Store

10 条评论

  1. 小王先森 1

    你提供的方法搜不到内容呀,是不是关键代码你没有放出来。

    1. Lopwon Lopwon 博主
      @ 小王先森

      已回复邮件。

  2. 子午 7

    这个月份不能是完整的单词吗?

    1. Lopwon Lopwon 博主
      @ 子午

      可以,要修改对应日期格式date('M d')

  3. D Duo 小伙伴75

    一年不会,10年今日发的难说就是黑历史

    1. Lopwon Lopwon 博主
      @ Duo

      比如你的。

  4. S S 小伙伴182

    这个功能wp很久以前就有了。

    1. Lopwon Lopwon 博主
      @ S

      Typecho使用的人比较少,功能和模板也没有WP那么强大。

  5. 青山 13

    QQ空间充满了青葱岁月。

    1. Lopwon Lopwon 博主
      @ 青山

      也成了很多人丢荒的自留地。

新一篇40_Qingming.jpg
昔日
旧一篇40_Chunfen.jpg

CC BY-NC-ND
准备下山 准备下山
Snapic Plus v5
使用 Lopwon POP 实现