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

如何为WooCommerce附加信息选项卡自定义字段设置0.00默认显示值

实现方案
  • 你可以使用switch语句实现该需求,不过对于仅两种分支的简单判断场景,使用条件判断+数值格式化函数的写法更简洁易维护
  • 也可以使用三元运算符结合empty()判断、number_format()格式化函数实现,是更常用的轻量化方案

方案1:三元运算符实现(推荐)

function corecharge_woocommerce_display_product_attributes($product_attributes, $mproduct){
    // 获取自定义字段原始值
    $core_charge = get_post_meta($mproduct->get_ID(), '_number_field', true);
    // 为空或值为0时默认展示0.00,其他数值统一格式化为两位小数保证样式统一
    $show_value = (empty($core_charge) || $core_charge == 0) ? '0.00' : number_format($core_charge, 2);
    
    $product_attributes['corecharge-field'] = [
        'label' => __('Core Charge', 'text-domain'),
        'value' => $show_value,
    ];
    
    return $product_attributes;
}

该方案代码逻辑清晰简洁,同时会把所有非0的金额数值统一格式为两位小数,前端展示更规范。

方案2:switch语句实现

如果你更倾向使用switch语句,可参考如下实现:

function corecharge_woocommerce_display_product_attributes($product_attributes, $mproduct){
    $core_charge = get_post_meta($mproduct->get_ID(), '_number_field', true);
    
    switch(true) {
        // 匹配字段为空、值为0的场景
        case empty($core_charge):
        case $core_charge == 0:
            $show_value = '0.00';
            break;
        // 其余场景格式化数值
        default:
            $show_value = number_format($core_charge, 2);
    }
    
    $product_attributes['corecharge-field'] = [
        'label' => __('Core Charge', 'text-domain'),
        'value' => $show_value,
    ];
    
    return $product_attributes;
}

这里switch使用true作为匹配值,可实现多条件聚合匹配,完全满足你的需求。

内容的提问来源于stack exchange,提问作者waleed ali mian

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 16:57:04