Update page-archives.php

This commit is contained in:
浪子 2024-05-22 14:33:23 +08:00
parent 2aa42119dd
commit 91743cbaad
1 changed files with 22 additions and 16 deletions

View File

@ -20,41 +20,47 @@ if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?>
$stat = Typecho_Widget::widget('Widget_Stat');
Typecho_Widget::widget('Widget_Contents_Post_Recent', 'pageSize=' . $stat->publishedPostsNum)->to($archives);
$year = 0; $mon = 0;
$output = '<div class="archives">';
$output = '<div class="archives">'; // Start archives container
while ($archives->next()) {
$year_tmp = date('Y', $archives->created);
$mon_tmp = date('m', $archives->created);
// 检查年份和月份是否变化
// 检查是否需要新的年份标题
if ($year != $year_tmp) {
if ($year > 0) {
$output .= '</ul></div>'; // 结束上一个年份的ul和div
$output .= '</ul></div>'; // 结束上一个年份的月份列表和包裹的div
}
$year = $year_tmp; $mon = 0; // 更新年份和重置月份
$output .= '<h2 class="archive--title__year">' . date('Y', $archives->created) . '</h2>'; // 输出新的年份
$year = $year_tmp;
$mon = 0; // 重置月份
$output .= '<div class="archive-year"><h2 class="archive--title__year">' . $year . '年</h2>'; // 开始新的年份div
}
// 检查是否需要新的月份标题
if ($mon != $mon_tmp) {
if ($mon > 0) {
$output .= '</ul>'; // 结束上一个月份的ul
$output .= '</ul>'; // 结束上一个月份的列表
}
$mon = $mon_tmp; // 更新月份
$output .= '<h3 class="archive--title__month">'. date('M', $archives->created) . '</h3><ul class="archive--list" aria-label="' . date('Y年m月', $archives->created) . '">'; // 输出新的月份和开始新的列表
$mon = $mon_tmp;
$output .= '<h3 class="archive--title__month">' . $mon . '月</h3>';
$output .= '<ul class="archive--list">'; // 开始新的月份列表
}
// 输出文章项
$output .= '<li class="archive--item"><div class="archive--title"><a href="' . $archives->permalink . '">' . $archives->title . '</a></div>';
$output .= '<div class="archive--meta">' . date('m月d日', $archives->created) . '</div></li>';
$output .= '<li class="archive--item">';
$output .= '<div class="archive--title"><a href="' . $archives->permalink . '">' . $archives->title . '</a></div>';
$output .= '<div class="archive--meta">' . date('m月d日', $archives->created) . '</div></li>';
}
// 循环后,确保所有标签都已经关闭
if ($mon > 0) {
$output .= '</ul>'; // 结束最后一个月份的列表
}
if ($year > 0) {
$output .= '</ul>'; // 确保结束最后一个月份列表和div
$output .= '</div>'; // 结束最后一个年份的div
}
$output .= '</div>'; // End archives container
$output .= '</div>'; // 结束归档div
echo $output;
?>
</div>