如何防止wp_post中的POST_MODIFIED列被更新?

时间:2014-02-27 作者:Thomas Frank

在我的网站上,我会显示每个帖子的最后更新日期,而不是发布日期,以便让访问者知道帖子的最新发布时间。

我目前正在开发一个新主题,我正在构建的一些功能将要求我对几乎所有帖子的特色图像和自定义字段进行编辑。

我希望在进行这些更新时避免更改上次更新的日期,因为我并不是真正更新内容。

有什么办法吗?我目前的想法是,在我进行更新时,只需更改post\\u modified和post\\u modified\\u gmt的名称-这会有什么影响吗,因为WordPress将尝试更新技术上不存在的列?

1 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

将以下内容添加到functions.php 当你插手并在之后将其删除,或将其注释掉时:

function no_mod_wpse_136092($data,$postarr){
  if (empty($postarr[\'ID\'])) return $data;
  $old = get_post($postarr[\'ID\']);
  if (!empty($old)) {
    $data[\'post_modified\'] = $old->post_modified;
    $data[\'post_modified_gmt\'] = $old->post_modified_gmt;
  }
  return $data;
}
add_action(\'wp_insert_post_data\',\'no_mod_wpse_136092\',10,2);

结束