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

如何将WordPress中ACF的True/False字段返回值改为Yes/No而非1/0

解决ACF True/False字段返回Yes/No的方法

这里给你三个实用的解决思路,按需选择:

方法1:模板里直接判断输出

这是最简单直接的方式,在调用字段的模板代码里,根据返回的1/0手动输出对应文本:

<?php 
// 替换成你的字段名,比如garage、balcony
$has_garage = get_field('garage');
echo '车库:' . ($has_garage ? '是' : '否');
?>

如果有多个这类字段,建议封装成小函数减少重复代码:

<?php
function acf_bool_to_text($field_value, $true_text = '是', $false_text = '否') {
    return $field_value ? $true_text : $false_text;
}

// 使用示例
echo '车库:' . acf_bool_to_text(get_field('garage'));
echo '阳台:' . acf_bool_to_text(get_field('balcony'));
?>

方法2:用ACF过滤器全局修改返回值

如果想让指定或所有True/False字段自动返回自定义文本,不用每次在模板里判断,直接在主题的functions.php里加这段代码:

<?php
add_filter('acf/format_value', 'custom_acf_bool_value', 10, 3);
function custom_acf_bool_value($value, $post_id, $field) {
    // 只针对True/False类型字段生效
    if($field['type'] == 'true_false') {
        // 可选:只修改特定字段,比如garage和balcony
        // if(in_array($field['name'], ['garage', 'balcony'])) {
        //     $value = $value ? '是' : '否';
        // }
        // 全局修改所有True/False字段的返回值
        $value = $value ? '是' : '否';
    }
    return $value;
}
?>

要是不同字段需要不同的显示文本,在判断里根据字段名设置对应的内容就行。

方法3:借助ACF字段的显示选项管理文本

虽然True/False字段没有直接设置返回值的选项,但可以在字段编辑页的「显示选项」里设置“开启文本”和“关闭文本”,然后在模板里调用这些预设好的文本:

<?php
$field = get_field_object('garage');
echo $field['label'] . ':' . ($field['value'] ? $field['choices']['1'] : $field['choices']['0']);
?>

这种方式的好处是后续要修改文本时,直接在ACF后台改就行,不用碰代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 18:02:13