acf_field_clone::update_value()publicACF 3.6

This filter is appied to the $value before it is updated in the db

Метод класса: acf_field_clone{}

Хуков нет.

Возвращает

$value. - the modified value

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

$acf_field_clone = new acf_field_clone();
$acf_field_clone->update_value( $value, $post_id, $field );
$value (обязательный)
-
$post_id (обязательный)
-
$field (обязательный)
-

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

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

Код acf_field_clone::update_value() ACF 6.0.4

function update_value( $value, $post_id, $field ) {

	// bail early if no value
	if ( ! acf_is_array( $value ) ) {
		return null;
	}

	// bail early if no sub fields
	if ( empty( $field['sub_fields'] ) ) {
		return null;
	}

	// modify names
	$field = $this->prepare_field_for_db( $field );

	// loop
	foreach ( $field['sub_fields'] as $sub_field ) {

		// vars
		$v = false;

		// key (backend)
		if ( isset( $value[ $sub_field['key'] ] ) ) {

			$v = $value[ $sub_field['key'] ];

			// name (frontend)
		} elseif ( isset( $value[ $sub_field['_name'] ] ) ) {

			$v = $value[ $sub_field['_name'] ];

			// empty
		} else {

			// input is not set (hidden by conditioanl logic)
			continue;

		}

		// restore original field key
		$sub_field = $this->acf_prepare_field( $sub_field );

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

	}

	// return
	return '';

}