【问题标题】:How to set multiple selected values for Select field type programmatically?如何以编程方式为选择字段类型设置多个选定值?
【发布时间】:2020-11-10 07:36:54
【问题描述】:

我有一个字段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函数为Select字段类型设置选定的多个值?

【问题讨论】:

  • 您的字段名称是否附加了[],例如:<select name="my-field[]" >?这会将多个值保存为数组。
  • 我只使用没有 HTML 的 PHP。

标签: php wordpress advanced-custom-fields


【解决方案1】:

或者你也可以通过这种方法使用。

// Save a checkbox or select value.
$field_name = "my-field";
    
$value = array("value-1", "value-2", "value-3");
    
update_field( $field_name , $value, 'option' )

更多信息请查看the update_field documentation

【讨论】:

    【解决方案2】:

    我已经找到了解决问题的方法。

    我用第三个参数调用get_fields 格式化值 = false。

    这给了我理解正确格式的线索。

    那我就这样叫update_field了

    $update_result_multiple = update_field(
        'my-field',
        ['value-1', 'value-2', 'value-3'],
        'option'
    );
    

    并且字段已成功更新。

    【讨论】:

      猜你喜欢
      • 2017-08-08
      • 2015-12-24
      • 2012-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-30
      • 2019-09-12
      相关资源
      最近更新 更多