update_sub_row()ACF 5.2.3

update_sub_row

This function will add a row of data to a field

Хуков нет.

Возвращает

(true|false).

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

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

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

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

Код update_sub_row() ACF 6.0.4

function update_sub_row( $selector, $i = 1, $row = false, $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 );

	// append
	$value[ $i ] = $row;

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

	// return
	return true;

}