两年多前,给博客添加了“昔日”功能,类似于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 付费改造。
你提供的方法搜不到内容呀,是不是关键代码你没有放出来。
已回复邮件。
这个月份不能是完整的单词吗?
可以,要修改对应日期格式date('M d')
一年不会,10年今日发的难说就是黑历史
比如你的。
这个功能wp很久以前就有了。
Typecho使用的人比较少,功能和模板也没有WP那么强大。
QQ空间充满了青葱岁月。
也成了很多人丢荒的自留地。