delete_row()ACF 5.2.3

This function will delete a row of data from a field

No Hooks.

Returns

(boolean).

Usage

delete_row( $selector, $i, $post_id );
$selector(required)
.
$i
.
Default: 1
$post_id
.
Default: false

Changelog

Since 5.2.3 Introduced.

delete_row() code ACF 6.8.8

function delete_row( $selector, $i = 1, $post_id = false ) {

	// vars
	$offset = (int) acf_get_setting( 'row_index_offset' );
	$i      = (int) $i - $offset;

	// filter post_id
	$post_id = acf_get_valid_post_id( $post_id );

	// get field
	$field = acf_maybe_get_field( $selector, $post_id );

	// bail early if no field
	if ( ! $field ) {
		return false;
	}

	// get value
	$value = acf_get_value( $post_id, $field );

	// ensure array
	$value = acf_get_array( $value );

	// bail early if index doesn't exist
	if ( ! isset( $value[ $i ] ) ) {
		return false;
	}

	// unset
	unset( $value[ $i ] );

	// update
	acf_update_value( $value, $post_id, $field );

	// return
	return true;
}