ACF:创建自定义字段类型存储两个值

时间:2018-12-15 16:31:10

标签: php wordpress advanced-custom-fields

我创建了一个自定义字段类型,可以将我的值存储在数组中。

一切正常,但是我创建了另一个输入并将值传递为$ field ['additional_text'],但是这会更新['value']而不是['additional_text']。

数组 (     [值] => X     [additional_text] => Y )

如何定位正确的键以将值传递给?

2 个答案:

答案 0 :(得分:0)

您可以使用ACF's get_field()和update_field()函数来获取和设置值。 您还可以使用get_post_meta()和update_post_meta()函数来操纵该字段。

实际上,ACF为每个元字段存储两个值。 例如,如果我在ACF中添加了“ price”自定义字段,则在数据库中创建了“ price”和“ _price” 2个发布元字段。 如您所知,具有下划线前缀的meta_key未在编辑文章页面上列出 此处,实际价值保存在“价格”字段中。

答案 1 :(得分:0)

解决方案是在创建字段表单输入时,字段名称必须如下:-

name="<?php echo esc_attr($field['name']) ?>[value_x]"

value="<?php echo esc_attr($field['value']['value_x']) ?>"

name="<?php echo esc_attr($field['name']) ?>[value_y]"

value="<?php echo esc_attr($field['value']['value_y']) ?>"

这将允许您在自定义字段类型中存储多个值。