acf_duplicate_fields()
acf_duplicate_fields
Duplicate an array of fields.
No Hooks.
Returns
Array.
Usage
acf_duplicate_fields( $fields, $parent_id );
- $fields(array)
- An array of fields.
Default:array() - $parent_id(int)
- The new parent ID.
Changelog
| Since 5.0.0 | Introduced. |
acf_duplicate_fields() acf duplicate fields code ACF 6.8.8
function acf_duplicate_fields( $fields = array(), $parent_id = 0 ) {
// Generate keys for all new fields
// - Needed to alter conditional logic rules
// - Use usleep() to ensure unique keys.
$keys = array();
foreach ( $fields as $field ) {
usleep( 1 );
$keys[ $field['key'] ] = uniqid( 'field_' );
}
acf_append_data( 'generated_keys', $keys );
$duplicates = array();
// Duplicate fields.
foreach ( $fields as $field ) {
$field_id = $field['ID'] ? $field['ID'] : $field['key'];
$duplicates[] = acf_duplicate_field( $field_id, $parent_id );
}
// Return.
return $duplicates;
}