当前位置:首页>WordPress资讯>WordPress 5.3 改进了日期/时间组件

WordPress 5.3 改进了日期/时间组件

WordPress 主题 CoreNext

日期/时间组件包含时间和日期信息的所有输入、输出和存储。它的代码可以追溯到早期版本的PHP 4实现,并且经过了部分PHP 5改进。

在一年多的WP版本迭代中,我们运行了一个名为“ wp_date”的项目来修复和改进该组件,这些改进将集成到 WordPress 5.3

  1. 所有现有代码将具有更正确和可靠的操作。我们修复了错误,添加了单元测试,并更正了许多函数的内联文档。
  2. WP 5.3+代码将可以访问新的API函数,以方便使用和实现PHP互操作性。

新的API函数

通过将核心版本所需的PHP版本提高到5.6,我们改进了组件的API。

统一时区检索

  • wp_timezone_string()无论(timezone_stringgmt_offset选项) 设置如何,都可以通过一种单一的方式检索站点时区。可能返回Region/Location字符串或 ±NN:NN偏移量。现在,两者都是内核支持的PHP版本的有效输入。
  • wp_timezone()检索站点时区作为DateTimeZone对象。

PHP互操作性

  • current_datetime()检索当前时间作为DateTimeImmutable对象。
  • get_post_datetime()检索文章时间作为DateTimeImmutable对象。
  • get_post_timestamp() 检索文章时间作为Unix时间戳。

逐步淘汰WP时间戳

日期/时间组件依赖于所谓的“ WordPress时间戳”,即带有时区偏移量的Unix时间戳的总和。这导致许多错误,并且与上游PHP或任何外部系统缺乏互操作性。内联文档错误地将它们称为Unix时间戳。

没有向后兼容性完成,就不可能删除WP时间戳。但是我们在以下方面取得了重大进展:

  • 减少其在核心的使用;
  • 更正无效的内联文档;
  • 提供使用真实Unix时间戳的新API。

不再推荐

  • 不要将时间作为WP时间戳获取:
  • 不要根据WP时间戳本地化时间:
    • date_i18n( DATE_RFC3339, $timestamp + $offset )
  • 不要持久性地存储WP时间戳;
  • 不要比较WP时间戳。

推荐的方式

  • 检索时间作为Unix时间戳或DateTimeImmutable对象:
    • time()
    • current_datetime()
    • get_post_datetime()
    • get_post_timestamp()
  • 根据Unix时间戳本地化时间:
    • wp_date( DATE_RFC3339, $timestamp )
  • 存储时间精确的Unix时间戳或格式,例如 DATE_RFC3339 ;
  • 比较DateTimeInterface同一时区中的Unix时间戳,对象或字符串可比较的日期。

小结

日期/时间核心组件已收到急需的修复程序和一系列改进。带有时间和日期的WordPress平台上的代码将更加方便和可靠。

如果你对以上改进或组件有疑问,请关注WordPress Slack中的#core-datetime频道。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
欢迎关注WordPress大学公众号 WPDAXUE
WordPress开发WordPress资讯

WordPress 5.3 新增古腾堡区块样式和示例 API

2019-9-24 21:31:01

WordPress资讯

WordPress 5.3 古腾堡编辑器与主题相关的更新

2019-9-28 8:45:33

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索