typecho 实现“那年今日”
昵称
密码
标签搜索

typecho 实现“那年今日”

小王先森
2021-05-11 / 0 评论 / 152 阅读 / 正在检测是否收录...
/

经常逛 QQ 空间的人会发现,它就有这个功能。这个功能是展示与今天同一天发生的事、写的文章,上传的图片等等。其实,在之前使用 Wordpress 程序时,我用的知更鸟主题集成了这个功能,他叫历史上的今天。改用了 typecho 程序后,JOE主题的作者不断加强主题,而这个“那年今日”的功能也在网友提出建议后如约而至了。作者只是写好了函数,前端并没有调用,所以也就没有具体的样式。我简单的写了一个样式,把这个功能用起来了,下面我把使用的方法分享一下吧。

函数部分

function _getHistoryToday($created)
{
    $date = date('m/d', $created);
    $time = time();
    $db = Typecho_Db::get();
    $prefix = $db->getPrefix();
    $sql = "SELECT * FROM `{$prefix}contents` WHERE DATE_FORMAT(FROM_UNIXTIME(created), '%m/%d') = '{$date}' and created <= {$time} and created != {$created} and type = 'post' and status = 'publish' and (password is NULL or password = '') LIMIT 5";
    $result = $db->query($sql);
    if ($result instanceof Traversable) {
        foreach ($result as $item) {
            $item = Typecho_Widget::widget('Widget_Abstract_Contents')->push($item);
            $title = htmlspecialchars($item['title']);
            $permalink = $item['permalink'];
            echo "
                    <li class='item'>
                        <a class='link' href='{$permalink}' title='{$title}'>{$title}</a>
                    </li>
                ";
        }
    }
}

前端调用

1、 文章页内

<?php _getHistoryToday($this->created) ?>

2、 全局调用

<?php _getHistoryToday(time()) ?>

效果查看

本站的侧边栏,可以看到。
20210511115206.jpg

0

评论 (0)

取消