acf_field_flexible_content::update_row() public ACF 5.5.8
This function will update a value row
{} Это метод класса: acf_field_flexible_content{}
Хуков нет.
Возвращает
(true/false).
Использование
$acf_field_flexible_content = new acf_field_flexible_content(); $acf_field_flexible_content->update_row( $row, $i, $field, $post_id );
- $row (обязательный)
- -
- $i **
- -
- $field (обязательный)
- -
- $post_id (обязательный)
- -
Список изменений
С версии 5.5.8 | Введена. |
Код acf_field_flexible_content::update_row() acf field flexible content::update row ACF 5.9.1
function update_row( $row, $i = 0, $field, $post_id ) {
// bail early if no layout reference
if( !is_array($row) || !isset($row['acf_fc_layout']) ) return false;
// get layout
$layout = $this->get_layout($row['acf_fc_layout'], $field);
// bail early if no layout
if( !$layout || empty($layout['sub_fields']) ) return false;
// loop
foreach( $layout['sub_fields'] as $sub_field ) {
// value
$value = null;
// find value (key)
if( isset($row[ $sub_field['key'] ]) ) {
$value = $row[ $sub_field['key'] ];
// find value (name)
} elseif( isset($row[ $sub_field['name'] ]) ) {
$value = $row[ $sub_field['name'] ];
// value does not exist
} else {
continue;
}
// modify name for save
$sub_field['name'] = "{$field['name']}_{$i}_{$sub_field['name']}";
// update field
acf_update_value( $value, $post_id, $sub_field );
}
// return
return true;
}