delete_sub_row()ACF 5.2.3

delete_sub_row

This function will add a row of data to a field

Хуков нет.

Возвращает

(true|false).

Использование

delete_sub_row( $selector, $i, $post_id );
$selector (обязательный)
-
$i **
-
По умолчанию: 1
$post_id **
-
По умолчанию: false

Список изменений

С версии 5.2.3 Введена.

Код delete_sub_row() ACF 6.0.4

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

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

	// get sub field
	if ( is_array( $selector ) ) {

		$post_id   = acf_get_valid_post_id( $post_id );
		$sub_field = acf_maybe_get_sub_field( $selector, $post_id, false );

	} else {

		$post_id   = acf_get_loop( 'active', 'post_id' );
		$sub_field = get_row_sub_field( $selector );

	}

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

	// get raw value
	$value = acf_get_value( $post_id, $sub_field );

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

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

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

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

	// return
	return true;

}