Как обновить значение произвольного поля ACF типа Date?

Не получается программно обновить поле типа Date созданное с помощью ACF так, что бы данные отображались при редактировании поста. Текстовые и другие поля обновляются спокойно – как с помощью update_post_meta() так и с помощью update_field(). Пробовал и так и так, подставляя и field_name и field_key, не помогло.

То есть поля то обновляются, но данных не видно в админке (см. скриншот).

На скриншоте видно что данных в полях ACF нет, зато они есть в стандартных произвольных полях WP, на фронтенд выводится данные, в этом плане все в порядке, но почему нет данных в полях ACF на странице редактирования записи?

5c6b03401d6542dcacbd12ed8ff4eb14.png
  • Вопрос задан
  • 484 просмотра
Пригласить эксперта
Ответы на вопрос 3
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
В настройках этого поля есть 2 свойства - формат хранения данных и формат возвращаемых данных. У вас формат хранения (в котором вы записываете) по ходу отличается от того, который ожидает ACF (указан в настройках поля).
Ответ написан
Комментировать
vladbesson
@vladbesson Автор вопроса
Как оказалось нужно сохранять дату в формате YYYYMMDD
Ответ написан
@aaegorof
Professional Wordpress and Frontend developer
Если у вас выбрано Date + time , то в базе сохраняется в формате Y-m-d H:i:s , учтите это!
Чтоб менять сохраняемое значение в базе, надо дописать в functions.php

add_filter('acf/update_value/type=date_time_picker', 'my_update_value_date_time_picker', 10, 3);

function my_update_value_date_time_picker( $value, $post_id, $field ) {
    return strtotime( $value );
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы