Сегодня я заметил, что одна из моих установок WordPress ведет себя очень странным образом: всякий раз, когда я обновляю сообщение из Dashboard, некоторые из его дополнительных входов сохраняют значения, которые у них уже есть (все они являются многомерными массивами). Например:
[Post.php? Пост = 123&Действие = править]
<input type="text" id="field_a0b" class="text" name="fields[a][0][b]"value="Current value" placeholder="">
Если я отредактирую этот пост вручную (как это сделал бы конечный пользователь), изменив Current value
в New value
затем нажмите Обновить кнопка, $_POST['fields']['a'][0]['b']
будет по-прежнему содержать Current value
— нет New value
как я и ожидал.
Это происходит только с этими входными массивами. Кроме того, если я изменю name="fields[a][0][b]"
к чему-то случайному, как name="fields[a][0][bbbbbbbb]"
, а затем распечатать эту вещь, а затем я получаю значение, которое я ввел в поле ввода!
Я взломал файлы WordPress для выгрузки данных из нескольких мест (даже из load.php), все еще без успеха.
Не уверен, что это важно, но плагин, генерирующий эти HTML-вводы, называется ACF (Advanced Custom Fields).
В прошлом я обнаружил, что если я повторно использую массив, мне следует сбрасывать этот массив каждый раз, когда я закончу с ним. Таким образом, вы, несомненно, очистите этот массив для повторного использования.
Других решений пока нет …