delete_row()

Обзор

Удаляет строку данных из значения существующего поля 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