可以在Typecho博客上展示当前文章日期在过去几年的今天所发的其它文章。之前在一些博客上看到这个那年今日,感觉还不错,就借鉴了一下,并进行优化处理,且兼容了sqlite。
1、将以下代码放入functions.php
function historyToday($created)
{
$date = date('m/d', $created);
$date_m = date('m月', $created);
$date_d = date('d日', $created);
$time = time();
$db = Typecho_Db::get();
$prefix = $db->getPrefix();
$limit = 5;//显示多少篇文章
$adapter = $db->getAdapterName();
if ("Pdo_SQLite" === $adapter || "SQLite" === $adapter) {
$sql = "SELECT * FROM `{$prefix}contents` WHERE strftime('%m-%d',datetime(datetime(created, 'unixepoch'))) = '{$date}' and created <= {$time} and created != {$created} and type = 'post' and status = 'publish' and (password is NULL or password = '') LIMIT ".$limit;
}
if ("Pdo_Mysql" === $adapter || "Mysql" === $adapter || "Mysqli" === $adapter) {
$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 ".$limit;
}
$result = $db->query($sql);
$historyTodaylist = [];
if ($result instanceof Traversable) {
foreach ($result as $item) {
$item = Typecho_Widget::widget('Widget_Abstract_Contents')->push($item);
$title = htmlspecialchars($item['title']);
$permalink = $item['permalink'];
$date = date('Y年m月d日',$created);
$historydate = date('Y年m月d日',$item['created']);
$historyTodaylist[] = array(
"title" => $title,
"permalink" => $permalink,
"date" => $historydate
);
}
}
if (count($historyTodaylist) > 0){
echo "<div class='bs-today'>
<fieldset>
<legend><h5>那年今日</h5></legend>
<div class='today-date'><div class='today-m'>{$date_m}</div><div class='today-d'>{$date_d}</div></div><ul>
";
foreach ($historyTodaylist as $item){
echo "<li><span>{$item['date']}</span><a href='{$item['permalink']}' title='{$item['title']}' target='_blank'>{$item['title']}</a></li>";
}
echo "</ul></fieldset></div>";
}
}
2、在文章页面合适的地方插入如下代码:
<?php historyToday($this->created)?>
仅展示PHP部分,至于样式则可以自己写。
1、文章版权归作者所有,未经允许请勿转载。
2、本站所有文章,如无特殊说明或标注,均为本站原创发布。任何在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们邮箱:526009505@qq.com进行处理。
3、咨询请联系QQ:526009505
2、本站所有文章,如无特殊说明或标注,均为本站原创发布。任何在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们邮箱:526009505@qq.com进行处理。
3、咨询请联系QQ:526009505