acf_field_flexible_content::delete_valuepublicACF 5.2.3

Deletes a layout from a flexible content field.

Method of the class: acf_field_flexible_content{}

No Hooks.

Returns

$post_id. (int)

Usage

$acf_field_flexible_content = new acf_field_flexible_content();
$acf_field_flexible_content->delete_value( $post_id, $key, $field );
$post_id(required)
.
$key(required)
.
$field(required)
.

Changelog

Since 5.2.3 Introduced.

acf_field_flexible_content::delete_value() code ACF 6.8.8

public function delete_value( $post_id, $key, $field ) {

	// Delete layout meta (disabled and renamed layouts).
	acf_delete_metadata_by_field(
		$post_id,
		array(
			'name' => '_' . $field['name'] . '_layout_meta',
		)
	);

	// vars
	$old_value = acf_get_metadata_by_field( $post_id, $field );
	$old_value = is_array( $old_value ) ? $old_value : array();

	// bail early if no rows or no sub fields
	if ( empty( $old_value ) ) {
		return;
	}

	// loop
	foreach ( array_keys( $old_value ) as $i ) {
		$this->delete_row( $i, $field, $post_id );
	}
}