WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Получай пассивный доход от сайта с помощью браузерных PUSH уведомлений
функция не описана

acf_field_repeater::update_value() public ACF 3.6

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

{} Это метод класса: acf_field_repeater{}

Хуков нет.

Возвращает

$value. - the modified value

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

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

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

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

Код acf_field_repeater::update_value() ACF 5.9.1

<?php
function update_value( $value, $post_id, $field ) {
	
	// bail early if no sub fields
	if( empty($field['sub_fields']) ) return $value;
	
	
	// vars
	$new_value = 0;
	$old_value = (int) acf_get_metadata( $post_id, $field['name'] );
	
	
	// update sub fields
	if( !empty($value) ) { $i = -1;
		
		// remove acfcloneindex
		if( isset($value['acfcloneindex']) ) {
		
			unset($value['acfcloneindex']);
			
		}
		
		// loop through rows
		foreach( $value as $row ) {	$i++;
			
			// bail early if no row
			if( !is_array($row) ) continue;
			
			
			// update row
			$this->update_row( $row, $i, $field, $post_id );
			
			
			// append
			$new_value++;
			
		}
		
	}
	
	
	// remove old rows
	if( $old_value > $new_value ) {
		
		// loop
		for( $i = $new_value; $i < $old_value; $i++ ) {
			
			$this->delete_row( $i, $field, $post_id );
			
		}
		
	}
	
	
	// save false for empty value
	if( empty($new_value) ) $new_value = '';
	
	
	// return
	return $new_value;
}