acf_field_flexible_content::delete_row
This function will delete a value row
Метод класса: acf_field_flexible_content{}
Хуков нет.
Возвращает
true|false.
Использование
$acf_field_flexible_content = new acf_field_flexible_content(); $acf_field_flexible_content->delete_row( $i, $field, $post_id );
- $i(int) (обязательный)
- .
- $field(массив) (обязательный)
- .
- $post_id(разное) (обязательный)
- .
Список изменений
| С версии 5.5.8 | Введена. |
Код acf_field_flexible_content::delete_row() acf field flexible content::delete row ACF 6.4.2
public function delete_row( $i, $field, $post_id ) {
// vars
$value = acf_get_metadata_by_field( $post_id, $field );
// bail early if no value
if ( ! is_array( $value ) || ! isset( $value[ $i ] ) ) {
return false;
}
// get layout
$layout = $this->get_layout( $value[ $i ], $field );
// bail early if no layout
if ( ! $layout || empty( $layout['sub_fields'] ) ) {
return false;
}
// loop
foreach ( $layout['sub_fields'] as $sub_field ) {
// modify name for delete
$sub_field['name'] = "{$field['name']}_{$i}_{$sub_field['name']}";
// delete value
acf_delete_value( $post_id, $sub_field );
}
// return
return true;
}