Set post date before 1970

时间:2013-01-05 作者:passatgt

我有一个自定义的帖子类型,叫做books。图书出版日期为1700年至1900年。

我想将发布日期设置为这些日期(以便查询按年份排序的结果),但我似乎无法将日期设置为1970年1月1日之前。

有没有可能做到这一点?

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

请勿使用post_date 它不是为任何事情而设计的。改为使用post元字段。这个post_datebound to post_date_gmt, 你会得到奇怪的副作用,即使你可以提前约会。

因此,创建post元字段并根据tax query. 忽略默认字段。

回答您的评论:不要使用分类法。

分类法的构建允许每个帖子使用多个术语(忽略post-formats 此处)。该方案与您的用例不匹配我也曾经启动过一个book manager插件,不幸的是它仍处于草稿状态……但我对日期有一些建议:

使用两种帖子类型:一种用于作品,一种用于真实版本(theopus 类型将是多个版本的父级)。因此,您可以在opus中存储创建日期,在版本中存储发布日期(语言、编辑、翻译人员等)。

阅读Making <time> safe for historians. 1970年之前的日期很难确定。

MySQL Date and Time Functions 由于无法处理所有情况,最终会产生一些用于排序的自定义例程,具体取决于(2)的解决方案。

SO网友:diggy

This plugin 使用ADOdb Date Library PHP Everywhere的约翰·林(JohnLim),我引用他的话,“用1970年之前的日期格式化是一种魅力”。

结束

相关推荐

wpdb update multiple row?

我需要立即更改所有用户的元值。除了使用自定义数据库查询之外,似乎没有用于此的api。这是我的代码:$matches = array(\'meta_key\' => \'user_token\'); $data = array(\'meta_value\' => \'100\'); $wpdb->update( \"$wpdb->usermeta\", $data, $matches); 问题是,这只更新一个用户元值,而不是使用“user\\u token”