fix: wrong comment date for comment widget (#399)

pull/405/head
n0099 2021-07-19 08:50:59 +08:00 committed by GitHub
parent 240fe5af2a
commit f22ce09388
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 25 additions and 21 deletions

View File

@ -94,26 +94,22 @@ function most_comm_posts($days = 30, $nums = 6)
echo $output; echo $output;
} }
function timeago($ptime){ function timeago($time) {
$ptime = strtotime($ptime); $time = strtotime($time);
$etime = time() - $ptime; $dtime = time() - $time;
if($etime < 1) if ($dtime < 1) return __('刚刚', 'kratos');
return '刚刚'; $intervals = [
$interval = array( 12 * 30 * 24 * 60 * 60 => __(' 年前', 'kratos'),
12*30*24*60*60 => __(' 年前','kratos').''.date(__('m月d日','kratos'),$ptime).'', 30 * 24 * 60 * 60 => __(' 个月前', 'kratos'),
30*24*60*60 => __(' 个月前','kratos').''.date(__('m月d日','kratos'),$ptime).'', 7 * 24 * 60 * 60 => __(' 周前', 'kratos'),
7*24*60*60 => __(' 周前','kratos').''.date(__('m月d日','kratos'),$ptime).'', 24 * 60 * 60 => __(' 天前', 'kratos'),
24*60*60 => __(' 天前','kratos').''.date(__('m月d日','kratos'),$ptime).'', 60 * 60 => __(' 小时前', 'kratos'),
60*60 => __(' 小时前','kratos').''.date(__('m月d日','kratos'),$ptime).'', 60 => __(' 分钟前', 'kratos'),
60 => __(' 分钟前','kratos').''.date(__('m月d日','kratos'),$ptime).'', 1 => __(' 秒前', 'kratos')
1 => __(' 秒前','kratos').''.date(__('m月d日','kratos'),$ptime).'', ];
); foreach ($intervals as $sec => $str) {
foreach($interval as$secs=>$str){ $v = $dtime / $sec;
$d=$etime/$secs; if ($v >= 1) return round($v) . $str;
if($d>=1){
$r=round($d);
return$r.$str;
}
} }
} }
@ -145,7 +141,15 @@ function latest_comments($list_number=5, $cut_length=50)
$comments = $wpdb->get_results($wpdb->prepare("SELECT comment_ID, comment_post_ID, comment_author, comment_author_email, comment_date_gmt, comment_content FROM {$wpdb->comments} LEFT OUTER JOIN {$wpdb->posts} ON {$wpdb->comments}.comment_post_ID = {$wpdb->posts}.ID WHERE comment_approved = '1' AND (comment_type = '' OR comment_type = 'comment') AND user_id != '1' AND post_password = '' ORDER BY comment_date_gmt DESC LIMIT %d", $list_number)); $comments = $wpdb->get_results($wpdb->prepare("SELECT comment_ID, comment_post_ID, comment_author, comment_author_email, comment_date_gmt, comment_content FROM {$wpdb->comments} LEFT OUTER JOIN {$wpdb->posts} ON {$wpdb->comments}.comment_post_ID = {$wpdb->posts}.ID WHERE comment_approved = '1' AND (comment_type = '' OR comment_type = 'comment') AND user_id != '1' AND post_password = '' ORDER BY comment_date_gmt DESC LIMIT %d", $list_number));
foreach ($comments as $comment) { foreach ($comments as $comment) {
$nickname = esc_attr($comment->comment_author) ?: __('匿名', 'kratos'); $nickname = esc_attr($comment->comment_author) ?: __('匿名', 'kratos');
$output .= '<a href="' . get_the_permalink($comment->comment_post_ID) . '#commentform"> <div class="meta clearfix"> <div class="avatar float-left">' . get_avatar($comment, 60) . '</div> <div class="profile d-block"> <span class="date">' . $nickname . ' ' . __('发布于 ', 'kratos') . timeago($comment->comment_date_gmt) . '</span> <span class="message d-block">' . convert_smilies(esc_attr(string_cut(strip_tags($comment->comment_content), $cut_length))) . '</span> </div> </div> </a>'; $output .= '<a href="' . get_the_permalink($comment->comment_post_ID) . '#commentform">
<div class="meta clearfix">
<div class="avatar float-left">' . get_avatar($comment, 60) . '</div>
<div class="profile d-block">
<span class="date">' . $nickname . ' ' . __('发布于 ', 'kratos') . timeago($comment->comment_date) . '' . date(__('m月d日', 'kratos'), strtotime($comment->comment_date)) . '</span>
<span class="message d-block">' . convert_smilies(esc_attr(string_cut(strip_tags($comment->comment_content), $cut_length))) . '</span>
</div>
</div>
</a>';
} }
return $output; return $output;
} }