acf_field_clone::prepare_field_for_db
description
Метод класса: acf_field_clone{}
Хуков нет.
Возвращает
$post_id. (int)
Использование
$acf_field_clone = new acf_field_clone(); $acf_field_clone->prepare_field_for_db( $field );
- $field(обязательный)
- .
Список изменений
| С версии 5.5.0 | Введена. |
Код acf_field_clone::prepare_field_for_db() acf field clone::prepare field for db ACF 6.4.2
function prepare_field_for_db( $field ) {
// bail early if no sub fields
if ( empty( $field['sub_fields'] ) ) {
return $field;
}
// bail early if name == _name
// this is a parent clone field and does not require any modification to sub field names
if ( $field['name'] == $field['_name'] ) {
return $field;
}
// this is a sub field
// _name = 'my_field'
// name = 'rep_0_my_field'
// modify all sub fields to add 'rep_0_' name prefix (prefix_name setting has already been applied)
$length = strlen( $field['_name'] );
$prefix = substr( $field['name'], 0, -$length );
// bail early if _name is not found at the end of name (unknown potential error)
if ( $prefix . $field['_name'] !== $field['name'] ) {
return $field;
}
// acf_log('== prepare_field_for_db ==');
// acf_log('- clone name:', $field['name']);
// acf_log('- clone _name:', $field['_name']);
// loop
foreach ( $field['sub_fields'] as &$sub_field ) {
$sub_field['name'] = $prefix . $sub_field['name'];
}
// return
return $field;
}