所以我有一个帖子元字段,它有两个值:true 或 false。默认为 false,当事件发生时会自动更改为 true。
无论如何,是否可以创建另一个元字段来记录此更改发生的确切时间?如果是这样,我将如何去做?
最佳答案
如果不修改 WordPress 核心或覆盖主题functions.php 中的 update_field()
函数,您将无法顺利获取记录添加到数据库的时间。
但是我可以给你什么建议:
1) 如果您的应用程序高度依赖于修改 post_meta 时的秒数:毫秒,您应该使用高级技术:数据库事务。
2) 如果您的应用程序在编写第一个元数据和第二个元数据之间有一点延迟,则只需添加 add_post_meta() 即可。就在执行的 update_field()
下面
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 不会影响“更新”操作,这个包不会让这个字段在第二次被修改。
关于php - 记录帖子元字段更改的时间/日期 WordPress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17610352/