很抱歉,如果以前有人问过这个问题。
我有几个用ACF创建的自定义字段,我正在尝试将这些字段推送到json,以便在js文件中使用它们。
我的代码如下所示:
function receiver_custom_fields() {
foreach ( array(\'brand\', \'name\', \'cinema_dsp\') as $field ) {
register_rest_field( \'receiver\', $field , array(
\'get_callback\' => function() {
return get_field($field);
}
));
}
}
但我有一个错误:
注意:未定义的变量:E:\\xampp\\htdocs\\test comparator\\wp content\\themes\\hifi compare\\functions中的字段。php在线
将创建以下字段:brand、name和cinema\\u dsp。
我已经为每个字段创建了一个函数,它可以工作,但我想添加更多字段,我不想创建register_rest_field() 功能。
我能做什么?
最合适的回答,由SO网友:Jacob Peattie 整理而成
这个$field 变量在中不可用get_callback() 作用PHP在这方面与JavaScript不同,该函数不能从其作用域之外访问变量(除非global, 但这是一个糟糕的解决方案)。
通过$field 变量到回调函数,您需要这样编写:
\'get_callback\' => function() use ( $field ) {
return get_field( $field );
}