专题目录最旧文章在上时更新时间错误

  1. 主页
  2. 文档
  3. B2主题使用教程
  4. B2疑难杂症
  5. 专题目录最旧文章在上时更新时间错误

更新到B2 4.1.5+ 版本后,我们就可以设置专题目录的文章排序了。

专题目录最旧文章在上时更新时间错误 - Collection Update Time
Collection Update Time

但是,当你将【专题文章排序方式】设置为【最旧的排在最前面】时,在专题目录中,标题下方的 XXX前更新 会显示为最旧的那篇文章的日期。

这是因为在代码中,没有判断文章排序,总是将显示在最上面的文章的时间作为更新时间。如下图左边图片:

专题目录最旧文章在上时更新时间错误 - Collection Update Time 1
Collection Update Time 1

修正的方法就是检查下【专题文章排序方式】的排序方式,然后选择到底是第一篇还是最后一篇的时间为更新时间。

注:文本的修改方法也是不行的,因为只能根据显示在列表的5篇文章来选择日期,如果专题超过5篇,就不对了,暂时也没空折腾,等后续有空再研究吧。

打开B2主题的 b2\Pages\collection.php,按照下图所示添加和替换代码即可:

专题目录最旧文章在上时更新时间错误 - Collection Update Time 2
Collection Update Time 2

第①处的代码为:

$order = b2_get_option('template_collection','collection_post_order');
$order = !empty($order) ? $order : 'asc';

第②处的代码为:

<?php
    $latest = false; 
    if( !empty($post_data) ) {
        $latest = ( $order == 'asc') ? end($post_data) : $post_data[0];
    }

    echo $latest ? Post::time_ago($latest['date']).__('更新','b2').' · ' : '';
    echo $v['posts']['count'].__('篇文章','b2');
?>

已将该代码反馈给春哥,后续版本应该会修复了。

这篇文章对您有用吗? 4 1
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索