实现 Z-Blog 评论发布距离日志发布时长功能
如果你是 Z-Blog 用户,可能会发现一个问题:当别人评论你的博客文章时,无法直接知道他们评论的时间,也无法知道评论和文章之间的时间间隔。这是比较烦人的,因为有时候,你会想知道评论是否是针对最新文章发表的,或者是否与之前的文章相关。
幸运的是,这个问题并不难解决。你可以创建一个自定义媒体函数和一个自定义评论字段,以便按照年、月、日、小时、分钟和秒的方式存储评论发布时间。
第一步:创建自定义媒体函数
打开 Z-Blog 后台,并进入主题模板编辑器。找到 functions.php 文件,并添加以下代码:
function custom_comment_time( $comment_ID = '' ) {
$comment_ID = $comment_ID ? $comment_ID : get_comment_ID();
$comment = get_comment( $comment_ID );
$time_since_post = human_time_diff( get_post_time('U', true, $comment->comment_post_ID), strtotime( $comment->comment_date ) );
return '发布于:' . $time_since_post . '后';
}
保存文件,退出编辑器。
第二步:创建自定义评论字段
你可以使用 WordPress 的 add_comment_meta 函数创建一个自定义评论字段,它将存储每个评论发布后的当时时间戳。打开 functions.php 文件,添加以下代码:
function add_comment_publish_time( $comment_ID ) {
add_comment_meta( $comment_ID, 'comment_publish_time', current_time( 'timestamp' ), true );
}
add_action( 'wp_insert_comment', 'add_comment_publish_time' );
保存文件,退出编辑器。
第三步:显示评论发布时间
现在,你可以将自定义媒体函数添加到主题模板中,以便显示评论发布时间。打开主题模板的 comments.php 文件,查找以下代码:
<p class="comment-metadata">
<time datetime="<?php comment_time( 'c' ); ?>"><?php comment_date(); ?> • <?php comment_time(); ?></time>
<?php edit_comment_link( __( '编辑' ), '<span class="edit-link">', '</span>' ); ?>
</p>
将其替换为以下代码:
<p class="comment-metadata">
<?php echo custom_comment_time( $comment->comment_ID ); ?>
</p>
保存文件,退出编辑器。现在,当用户提交评论时,评论发布时间将被创建并存储为自定义字段。您可以在评论下方看到此时间戳,并了解评论是否与发布的文章有任何联系。
晓白博客网版权所有,原文地址https://www.xbnb.cn/4854
© 版权声明
THE END
请登录后查看评论内容