【问题标题】:Date format corrupted in sub fields when copying an ACF field复制 ACF 字段时,子字段中的日期格式损坏
【发布时间】:2019-09-04 19:30:31
【问题描述】:

我创建了一个 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)

是否可以指定日期格式?复制一个字段而不修改它?

谢谢

【问题讨论】:

    标签: wordpress advanced-custom-fields acfpro


    【解决方案1】:

    由 ACF 支持的 Kenny 指定,

    get_field() 函数包含一个格式化参数,您将其设置为 false 以返回原始数据库值。对于日期字段,未格式化的字符串将采用 YYYYMMD 格式。

    ACF get_field() manual 描述了这个$format_value 参数,并提供了一个“获取不带格式的值”的示例。

    就我而言,解决方案是像这样编辑get_field() 调用:
    $dates = get_field( 'calendar', $id_post_origin, false ); // false to retrieve raw data update_field( 'calendar', $dates, $id_post_destination );

    【讨论】:

    • 日期有很多问题,但添加 false 解决了我的问题。谢谢!
    猜你喜欢
    • 2018-04-12
    • 2019-03-28
    • 2020-09-20
    • 2022-01-23
    • 2012-05-29
    • 2014-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多