我添加了一个自定义字段,用于在前端获取和显示值。当字段为空或值为 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;
}
答案 0 :(得分:1)
您可以通过处理 get_post_meta
WP-Function 的返回值来做到这一点。
例如,在您的情况下,将其转换为默认值 '0.00'
,以防它返回 falsy:
get_post_meta($mproduct->get_ID(), '_number_field', true) ?: '0.00'
#########
这里的“switch 语句或什么”是 ternary operator ?:
Docs,中间部分被省略了(它的速记形式)。
这允许在调用单个值时使用带有 get_post_meta()
的默认值(第三个参数 $single
是 true
)。
如果未找到 post-meta,它会返回 false
,因此会采用右侧(此处为默认值)。
如果单个 post-meta 字段设置为空字符串 ""
、数字零或包含数字零的字符串(例如 "0"
),它也是 falsy< /em> 并采用默认值。
比较: