You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ACF数字自定义字段转换为小时分钟格式问题求助

解决ACF分钟数字段转小时+分钟格式的问题

问题根源

你误用了ACF的函数:the_field('length')会直接输出字段内容,不会将值返回给变量$time。执行代码时,它会先把110打印到页面,而$time实际是null——后续计算时null会被当作0处理,所以最终页面显示的是110 + 0hr 0,也就是你看到的1100hr 0。

修复代码

把the_field()替换为get_field(),这个函数会返回字段值,不会直接输出:

<?php
$time = get_field('length');
// 先判断字段是否存在且为有效数字,避免报错
if ($time && is_numeric($time)) {
    $hours = floor($time / 60);
    $minutes = $time % 60;
    
    // 拼接输出,处理小时或分钟为0的场景
    $output = '';
    if ($hours > 0) {
        $output .= $hours . 'hr ';
    }
    if ($minutes > 0 || $hours == 0) {
        $output .= $minutes . 'min';
    }
    echo trim($output);
}
?>

额外说明

  • 加入is_numeric($time)判断,能避免字段为空或非数字时出现报错
  • 自动处理边界情况:输入45分钟显示45min,输入60分钟显示1hr,输入110分钟显示1hr 40min

内容的提问来源于stack exchange,提问作者ProgressionFantasy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 16:41:02