Формат даты поврежден в подполе при копировании поля ACF - PullRequest
0 голосов
/ 14 апреля 2019

Я создал 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)

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

Спасибо

1 Ответ

0 голосов
/ 14 апреля 2019

Как указано Кенни из поддержки ACF,

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

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

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

...