主页/WordPress笔记/博客文章/综合文章/如何在WordPress中显示相对日期(2种方法)

如何在WordPress中显示相对日期(2种方法)

Bug编译狮

Bug编译狮

在WordPress中显示相对日期是一种常见的需求,比如展示文章发表时间、评论回复时间等。这里有两种方法来实现这个功能:

方法一:使用插件

  1. 安装“Relative Time”插件

    • 进入WordPress后台,找到“插件”部分。
    • 搜索并安装“Relative Time”插件。
    • 安装完成后,启用该插件。
  2. 配置插件

    • 登录到您的WordPress管理界面。
    • 在“Relative Time”选项卡下,选择您希望显示的日期格式,例如“自何时以来”或“自XX个月前”。
    • 设置好后,保存更改。
  3. 查看更新后的文章

    • 现在,在页面上,点击要查看相对日期的文章,您会看到日期以相对方式呈现。

示例代码

假设我们有一个简单的文章,发布时间为2023年5月1日,我们想用“Relative Time”插件来显示相对日期。

<?php echo wp_date('Y-m-d', strtotime('-1 day')); ?> ago
  • wp_date()函数用于获取当前日期和时间。
  • strtotime('-1 day')用来计算过去一天的时间戳。
  • 'Y-m-d'参数指定了输出格式,即年-月-日。

结果

这段代码会在文章的发布日期后面显示“ago”,表示距今一天之前。

方法二:手动编写代码

如果你不想使用插件,可以自己编写PHP代码来动态生成相对日期。

<?php 
// 获取当前日期和时间
$current_time = time();

// 获取文章发布的日期
$published_date = strtotime("2023-04-15"); // 假设文章发布于2023年4月15日

// 计算两个日期之间的差值
$delta = $current_time - $published_date;

// 根据差值显示相对日期
if ($delta < 86400) {
    echo "刚刚";
} elseif ($delta >= 86400 && $delta < 360000) {
    echo "昨天";
} elseif ($delta >= 360000 && $delta < 86400 * 7) {
    echo date('l jS of F Y', $published_date);
} else {
    echo '很久以前';
}
?>
  • 这段代码首先获取了当前时间和文章发布的时间。
  • 然后计算两者之间的时间差。
  • 根据时间差的不同,代码会输出不同的相对日期描述。

结果

通过这种方法,你可以精确地控制相对日期的显示方式,适用于各种复杂的日期比较场景。

这两种方法都能有效地帮助你在WordPress中显示相对日期,根据具体需求和偏好选择合适的方法即可。

黑板前的Bug语法讲师

黑板前的Bug语法讲师

相对日期简介

相对日期是一种 WordPress 中用于显示日期和时间的方法,它基于当前日期和时间来计算特定的日期。这通常用于显示用户活动的日期和时间,例如博客文章发布日期、评论发表日期等。

方法1:使用 date() 函数

示例代码:

<?php get_template_part('template-parts/content', 'relative-date'); ?>

说明:

  • 这段代码将调用 get_template_part 函数,根据传入的参数选择相应的模板部分。
  • 在这个例子中,我们使用了 template-parts/content/relative-date.php,该文件包含了一个名为 relative-date 的自定义模板部分。
  • 使用 date() 函数可以设置日期格式为 “Y-m-d H:i:s”,其中 “Y” 表示年份,”m” 表示月份,”d” 表示日期,”H” 和 “i” 分别表示小时和分钟,而 “s” 则表示秒。
  • 我们在这里设置了日期格式为 “2023-04-05 12:30:45″,这样就可以在页面上以相对日期的形式显示。

示例输出:

方法2:使用 get_post_date() 函数

示例代码:

<?php if (is_single() || is_page()) : ?>
    <?php the_time(get_option('date_format'), '<span class="post-date">', '</span>'); ?>
<?php endif; ?>

说明:

  • 当前单个帖子或页面被渲染时,会调用 the_time() 函数来获取当前日期。
  • 使用 get_option('date_format') 可以设置默认的日期格式字符串,这里我们将其设为 "Y-m-d"
  • '<span class="post-date">''</span>' 标签用于创建一个包含日期的 <span> 元素。

示例输出:

总结

这两种方法都可以用来在WordPress中显示相对日期。方法1更灵活,适用于大多数情况;而方法2则更为精确,但可能需要额外的配置以适应不同的需求。你可以根据具体的应用场景选择合适的方法。