如何基于自定义域更改发布日期?

时间:2013-05-20 作者:user8514

如何根据自定义字段更改发布日期?

作者使用日期选择器选择日记账分录的日期。日期用于列出所有用户日记账分录。我可以用queryorderby. 但是,“下一个”和“上一个”与列表不匹配。

我在这里读过,codex和Google如何尝试修复这个问题,到目前为止还没有一个有效的方法。

也许最好的方法是将发布日期设置为与日期选择器中的自定义字段相同?

有人知道怎么做吗?

1 个回复
SO网友:s_ha_dum

我不知道前端表单是如何保存数据的,但可能它正在使用wp_insert_postwp_update_post. 如果是,则有一个名为wp_insert_post_data 可用于在插入或更新帖子之前更改帖子数据。

function reset_post_date_wpse_100021($data,$postarr) {
  var_dump($data,$postarr); die; //debug
  // your code
  return $data;
}
/**
 * runs before new posts have IDs !!!
 */
add_filter(\'wp_insert_post_data\',\'reset_post_date_wpse_100021\',99,2);
第二个参数是$_POST 数据加上旧数据库数据$_POST 数据覆盖冲突的旧数据。

如果你看看var_dump 其中$postarr 值您应该看到日期选择器数据。您需要切碎日期选择器数据并覆盖$data 大堆

我看到的问题是WordPress(和MySQL)使用0000-00-00 00:00:00-- Y-m-d H:i:s-- 作为日期时间格式。这是您需要提供的,但您根本没有提到时间组件。至少是大头钉00:00:01 在你的约会上。

这应该就是你所需要的。

结束

相关推荐