Формат даты поврежден в подполях при копировании поля ACF

Я создал CPT для хранения календаря шоу.
Поле ACF calendar было создано для хранения мест и дат шоу. Это повторитель, состоящий из 2 подполей: date (тип=дата) и city (тип=выбор).

Когда я пытаюсь скопировать поле "календарь" из одного сообщения в другое, используя
update_field( 'calendar', get_field( 'calendar', $id_post_origin ), $id_post_destination );
, даты искажаются.

Я пытался запустить delete_field() раньше, но результат не лучше.

например если мое исходное сообщение:
0 => array (size=2) 'city' => string 'Vesoul' (length=6) 'date' => string '02/09/2019' (length=10)
целевое сообщение будет после копирования:
0 => array (size=2) 'city' => string 'Vesoul' (length=6) 'date' => string '09/02/2019' (length=10)

Можно ли указать формат даты? Дублировать поле, не изменяя его?

Спасибо


person cornegigouille    schedule 14.04.2019    source источник


Ответы (1)


Как сообщил Кенни из службы поддержки ACF,

Функция get_field() содержит параметр форматирования, которому вы присвоили значение false, чтобы вернуть необработанное значение базы данных. В случае поля даты неформатированная строка будет иметь формат ГГГГММД.

руководство по get_field() ACF описывает этот $format_value параметр и предоставляет пример "Получить значение без форматирования».

В моем случае решением было отредактировать вызов get_field() следующим образом:
$dates = get_field( 'calendar', $id_post_origin, false ); // false to retrieve raw data update_field( 'calendar', $dates, $id_post_destination );

person cornegigouille    schedule 14.04.2019