显示QQ亲子相册那样的年龄格式

单独制作了一个日记本来记录关于孩子的一些事情,为方便浏览需要将 post 发布日期改成类似 QQ 亲子相册那样,根据孩子出生日期和照片拍摄日期计算出来年龄,形如:生出、7天、1个月、 3岁5个月、12岁生日。如:5岁3个月

这个功能实现起来需要指定出生日期、获取Post的发布日期,剩下的就是日期判断,代码大概如下,放置于主题的 function.php 文件中:

// get_brave_year_of_age
function get_brave_year_of_age($birth_date) {
    $post_date = date_create(get_the_time('Y-m-d'));
    $interval = date_diff($birth_date, $post_date);
    $prefix = '';
    if ($interval->format('%R') === '-') {
        $prefix = '出生前';
    }
    $result = '';
    if ($interval->format('%y') === '0') {
        if ($interval->format('%m') === '0') {
            if ($interval->format('%d') === '0') {
                $result = '出生';
            } else if ($interval->format('%d') > 0) {
                $result = $interval->format('%d天');
            }
        } else if ($interval->format('%m') > 0) {
            $result = $interval->format('%m个月');
        }
        } else if ($interval->format('%y') > 0) {
            if ($interval->format('%m') === '0') {
                if ($interval->format('%d') === '0') {
                    $result = $interval->format('%y岁生日');
                } else if ($interval->format('%d') > 0) {
                    $result = $interval->format('%y岁');
                }
        } else if ($interval->format('%m') > 0) {
            $result = $interval->format('%y岁%m个月');
        }
    }
    echo $prefix . $result;
}

在需要显示的地方加上下面这段输出即可:

<?php get_brave_year_of_age(); ?>

回复 wys 取消回复

评论(6)

  1. 姜辰 via Firefox 78

    专业!

  2. 响石潭 via Chrome 80

    学习,节日快乐哈~~

    1. 秩秩斯干

      @响石潭 谢谢,同乐同乐 😊

  3. wys via Safari 14

    博主的LOGO不错哦!自己设计的吗?

    1. 秩秩斯干

      @wys 😊

  4. 叶开楗 via Chrome 94

    可以的,我以为是做成QQ空间相册成长日记那种模板 哈哈!