如何在附加信息选项卡 woocommerce 中向自定义字段添加默认值

时间:2021-07-18 13:50:15

标签: php wordpress woocommerce hook-woocommerce

我添加了一个自定义字段,用于在前端获取和显示值。当字段为空或值为 0 时出现问题,它在前端显示为空。我想显示“0.00”而不是空。是否有任何可以在代码中使用的 switch 语句?或者什么

function corecharge_woocommerce_display_product_attributes($product_attributes, $mproduct){
    $product_attributes['corecharge-field'] = [
        'label' => __('Core Charge', 'text-domain'),
        'value' => get_post_meta($mproduct->get_ID(), '_number_field', true),
    ];
//  echo var_dump($product_attributes);
    
    return $product_attributes;
    
}

Show 0.00 instead of empty on addition information tab

1 个答案:

答案 0 :(得分:1)

您可以通过处理 get_post_metaWP-Function 的返回值来做到这一点。

例如,在您的情况下,将其转换为默认值 '0.00',以防它返回 falsy

get_post_meta($mproduct->get_ID(), '_number_field', true) ?: '0.00'
                                                          #########

这里的“switch 语句或什么”是 ternary operator ?:Docs,中间部分被省略了(它的速记形式)。

这允许在调用单个值时使用带有 get_post_meta() 的默认值(第三个参数 $singletrue)。

如果未找到 post-meta,它会返回 false,因此会采用右侧(此处为默认值)。

如果单个 post-meta 字段设置为空字符串 ""、数字零或包含数字零的字符串(例如 "0"),它也是 falsy< /em> 并采用默认值。

比较: