更新到B2 4.1.5+ 版本后,我們就可以設置專題目錄的文章排序了。

但是,當你將【專題文章排序方式】設置為【最舊的排在最前面】時,在專題目錄中,標題下方的 XXX前更新 會顯示為最舊的那篇文章的日期。
這是因為在代碼中,沒有判斷文章排序,總是將顯示在最上面的文章的時間作為更新時間。如下圖左邊圖片:

修正的方法就是檢查下【專題文章排序方式】的排序方式,然后選擇到底是第一篇還是最后一篇的時間為更新時間。
注:文本的修改方法也是不行的,因為只能根據(jù)顯示在列表的5篇文章來選擇日期,如果專題超過5篇,就不對了,暫時也沒空折騰,等后續(xù)有空再研究吧。
打開B2主題的 b2\Pages\collection.php,按照下圖所示添加和替換代碼即可:

第①處的代碼為:
$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');
?>
已將該代碼反饋給春哥,后續(xù)版本應該會修復了。



