如何以编程方式为 Select 字段类型设置多个选定值?
How to set multiple selected values for Select field type programmatically?
我有一个字段my-field
my-field
的类型是 Select
字段 属性 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
函数为 Select 字段类型设置选定的多个值?
我找到了解决问题的方法。
我用第三个参数调用了 get_fields
格式化值 = false
.
这给了我理解正确格式的线索。
然后我就这样调用了update_field
$update_result_multiple = update_field(
'my-field',
['value-1', 'value-2', 'value-3'],
'option'
);
字段已成功更新。
或者你也可以用这个方法。
// Save a checkbox or select value.
$field_name = "my-field";
$value = array("value-1", "value-2", "value-3");
update_field( $field_name , $value, 'option' )
我有一个字段my-field
my-field
的类型是 Select
字段 属性 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
函数为 Select 字段类型设置选定的多个值?
我找到了解决问题的方法。
我用第三个参数调用了 get_fields
格式化值 = false
.
这给了我理解正确格式的线索。
然后我就这样调用了update_field
$update_result_multiple = update_field(
'my-field',
['value-1', 'value-2', 'value-3'],
'option'
);
字段已成功更新。
或者你也可以用这个方法。
// Save a checkbox or select value.
$field_name = "my-field";
$value = array("value-1", "value-2", "value-3");
update_field( $field_name , $value, 'option' )