实现 Z-Blog 评论发布距离日志发布时长功能

实现 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(); ?> &bull; <?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
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容