记录后期元字段更改WordPress的时间/日期

时间:2013-07-12 08:06:41

标签: php mysql wordpress

所以我有一个post元字段,它有两个值,true或false。它默认为false,当事件发生时它会自动变为true。

无论如何,是否可以创建另一个记录此更改发生时间的元字段?如果是这样,我将如何做到这一点?

1 个答案:

答案 0 :(得分:1)

在没有修改wordpress核心或覆盖主题functions.php中的update_field()函数的情况下,您无法顺利地获得将记录添加到数据库的时间。

但我可以向你提出什么建议:

1)如果您的应用程序高度依赖于秒:修改post_meta时的毫秒数,则应使用高级技术:数据库事务

2)如果你的申请没有问题,在写第一元和第二元之间有一点延迟,只需在执行update_field()正下方的add_post_meta()添加

p.s如果您认为使用functions.php覆盖该功能是您喜欢的方式只是给我发表评论,我会尝试通过编辑帖子来帮助您。

干杯!

修改

在您执行allready_aired字段后立即执行

    $alreadyAired = get_field('already_aired', $episodeID);

    if (get_field('already_aired', $episodeID) == "no") {
        update_field('field_28', "yes", $episodeID);
    }

您可以通过以下方式使用add_post_meta($post_id, $meta_key, $meta_value, $unique)功能:

    $alreadyAired = get_field('already_aired', $episodeID);

    if (get_field('already_aired', $episodeID) == "no") {
        update_field('field_28', "yes", $episodeID);
    }

    add_post_meta($episodeID, 'NEW_TIMESTAMP_FIELD', time(), true);

然后,您可以调用此NEW_TIMESTAMP_FIELD并以您喜欢的方式使用(回显格式化日期字符串,比较2个日期等。

请注意add_post_meta函数的第4个参数。这个告诉你这个字段是唯一的,并且考虑到app_post_meta不会影响“更新”操作,这个字符串不会让这个字段在第二次被修改。