如何以编程方式更新复杂字段并保持更新能力?

How to update complex field programmatically and keep ability for updating?

我试过这样更新

$old_field = get_field( 'my-field', 'my-option-page' );

$my_field_structure = [
    'level-1' => [
        'level-1-1' => [
            'level-1-1-text' => 'Test 1'
        ]
    ],
    'level-2' => [
        'level-2-1' => [
            'level-2-1-text' => 'Test 2'
        ]
    ],
    // ... and so long
];

$old_field['level-1']['level-1-1']['level-1-1-text'] = 'Test 1 (Updated)';

update_field( 'my-field', $old_field, 'my-option-page' );

在这之后我失去了 update_field 的能力。

字段始终保持不变'Test 1 (Updated)'

无论是手动管理区域还是编程方式,我都无法更新字段值。

值始终保持不变Test 1 (Updated)

如何正确更新嵌套字段并解决此问题?

问题是max_input_vars php.ini 设置。

我已经从 1000 更改为 5000,问题已解决