Как в админке WordPress дублировать уже заполненные кастомные поля ACF?

Для дублирования уже заполненных кастомных полей ACF в админке WordPress, вам понадобится использовать функцию acf_duplicate_field().

Функция acf_duplicate_field() предоставляет возможность создавать дубликаты полей, включая их значение. Она принимает два аргумента: исходное поле и новую необязательную группу полей, которой будет принадлежать дубликат.

Чтобы дублировать уже заполненные кастомные поля ACF, вам нужно выполнить следующие шаги:

1. Откройте файл functions.php вашей темы WordPress.
2. Добавьте следующий код:

function duplicate_acf_field($post_id) {
    $fields = get_field_objects($post_id); // Получить все поле ACF для данного поста
    
    foreach($fields as $field_key => $field_value) {
        $field = get_field_object($field_key, $post_id); // Получить объект конкретного поля
        $new_field = acf_duplicate_field($field); // Создать дубликат поля
        update_field($field['name'], $new_field, $post_id); // Обновить значение нового дубликата поля
    }
}

// Передать дубликат поля после сохранения поста
add_action('acf/save_post', 'duplicate_acf_field', 20);

Этот код определяет функцию duplicate_acf_field(), которая получает все поля ACF для конкретного поста, создает дубликат каждого поля с использованием функции acf_duplicate_field() и обновляет значения новых дубликатов полей с использованием функции update_field().

Также в коде используется хук acf/save_post, который запускает функцию duplicate_acf_field() после сохранения поста. Это гарантирует, что дубликаты полей будут созданы каждый раз при сохранении поста.

После добавления этого кода в functions.php в вашей теме, при сохранении поста все кастомные поля ACF будут дублироваться и их значения будут сохраняться в новых дубликатах полей. Это позволит вам создавать копии полей с уже заполненными значениями в админке WordPress.