如何将多个自定义POST字段注册到json?

时间:2019-05-30 作者:Catalin

很抱歉,如果以前有人问过这个问题。

我有几个用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() 功能。

我能做什么?

1 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

这个$field 变量在中不可用get_callback() 作用PHP在这方面与JavaScript不同,该函数不能从其作用域之外访问变量(除非global, 但这是一个糟糕的解决方案)。

通过$field 变量到回调函数,您需要这样编写:

\'get_callback\' => function() use ( $field ) {
    return get_field( $field );
}

相关推荐

如何让`wp-list-table`显示我在Custom-Post中的`Custom-Fields`

一切都好吗<我需要wp-list-table 也要显示custom-fields 在每个custom-post 我有,但我不知道如何做到这一点,在这幅图中,它显示了带有字段的表格:Title, Author and Publication Date: 我想要的是能够选择custom-fields 将出现,例如以下示例Title, Carta, Naipe, Author, and Date of Publication: