自动将发布日期更新为修改日期

时间:2013-11-07 作者:user36987

我想找到一个函数,它会自动将发布日期更改为修改后的发布日期。

我正在使用wp用户前端插件,以便访问者可以添加和编辑自定义帖子。我还使用了Post expirator插件,这样他们的帖子将在1个月后自动设置为draft。然后将向用户发送电子邮件,并要求其更新帖子,以便重新上线。问题是插件只看到发布日期。因此,一旦用户重新登录并编辑其帖子(使用前端用户),过期日期不会重置为修改日期后的1个月,而是仍然使用原始日期。希望一切都有意义。因此,我的选择是,要么尝试编写自己的函数,根据修改后的日期处理帖子过期,要么尝试在更新后强制帖子日期更改为修改后的日期。

有人能帮我解决这两个问题吗?我猜后一种解决方案将是最直接的实现方案,但愿意提出建议。

非常感谢

D

我尝试了下面的建议,但没有成功地将其付诸实施。有人能提供解决方案吗?

再次感谢!

D

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

按你的要求去做非常容易。

function reset_post_date_wpse_121565($data,$postarr) {
  // var_dump($data,$postarr); die; // debug
  $data[\'post_date\'] = $data[\'post_modified\'];
  $data[\'post_date_gmt\'] = $data[\'post_modified_gmt\'];
  return $data;
}
add_filter(\'wp_insert_post_data\',\'reset_post_date_wpse_121565\',99,2);
尽管如此,我还是犹豫着回答。在我的评论中,如果你在永久链接中使用日期,那么每次post_date 更改。

您案例中真正的问题似乎是“expirator”插件的设计,这意味着正确的解决方案可能是重新设计该插件,或者找到它提供的过滤器,而不是更改诸如发布日期之类的内容(这会产生后果)。

结束

相关推荐