Обзор
Удаляет строку данных из значения существующего поля Repeater или Flexible Content.
Параметры
delete_row($selector, $row, [$post_id])$selector(string) (Обязательный) Имя или ключ поля.$row(int) (Обязательный) Номер строки для обновления.$post_id(mixed) (Необязательный) ID записи, в которой сохранено значение. По умолчанию используется текущая запись.
Возвращаемое значение
(bool) Возвращает true при успешном обновлении и false в случае ошибки.
История изменений
- Добавлено в версии 5.3.2
Примеры
Удаление по имени поля
В этом примере показано, как удалить строку данных из поля с именем «images» в просматриваемой текущей записи.
// Удалить первую строку данных.
delete_row('images', 1);Удаление по ключу поля
В этом примере показано, как выполнить то же действие, используя ключ поля вместо его имени.
// Удалить первую строку данных.
delete_row('field_123456', 1);Примечания
Смещение индекса
При обращении к определённому номеру строки обратите внимание, что нумерация строк начинается с 1, а не с 0. Это означает, что первая строка имеет индекс 1, вторая — индекс 2 и так далее.
Чтобы начать нумерацию индексов с 0, используйте настройку row_index_offset, как показано ниже.
functions.php
add_filter('acf/settings/row_index_offset', '__return_zero');Использование внутри циклов
При использовании delete_row() функция обновляет базу данных и переиндексирует массив элементов Repeater или Flexible Content. Поэтому не следует использовать эту функцию внутри цикла have_rows, чтобы избежать несогласованных данных.
Обновлено: 30.09.2026