我有一个字段my-field
my-field
的类型为选择
字段属性Allow multiple
已启用。
字段的可用值为
- 值-1
- 值-2
- 值-3
如果我手动更新字段,然后调用函数
get_field( 'my-field', 'option' );
我有
[
0 =>
[
'value' => 'value-1',
'label' => 'value-1',
],
1 =>
[
'value' => 'value-2',
'label' => 'value-2',
],
];
尝试1
如果我尝试更新字段,我会以这种方式调用函数update_field
$update_result_multiple = update_field(
'my-field',
[
0 =>
[
'value' => 'value-1',
'label' => 'value-1',
],
1 =>
[
'value' => 'value-2',
'label' => 'value-2',
],
2 =>
[
'value' => 'value-2',
'label' => 'value-3',
],
],
'option'
);
我得到的update_result_multiple
是false
,所有值都变成未选中的
尝试2
如果我尝试这种方式-选定的值已成功更新。
$update_result = update_field(
'my-field',
[
'value' => 'value-1',
'label' => 'value-1',
],
'option'
);
问题是
我无法通过设置选定的多个值来更新Select
字段。
我只能手动设置选定的多个值。但不能用update_field
功能
问题是
如何使用update_field
功能设置选择字段类型的选定多个值?
或者您也可以通过此方法使用。
// Save a checkbox or select value.
$field_name = "my-field";
$value = array("value-1", "value-2", "value-3");
update_field( $field_name , $value, 'option' )
有关更多信息,请查看update_field
文档
我发现了解决问题的方法。
我用第三个参数格式的值=false
调用了get_fields
。
这给了我理解正确格式的线索。
然后我用这种方式给update_field
打了
$update_result_multiple = update_field(
'my-field',
['value-1', 'value-2', 'value-3'],
'option'
);
和字段已成功更新。