WP-CLI v1.2.0 发行说明

发布日快乐!

经过 325 个合并的拉取请求,我们很高兴地为您带来 WP-CLI v1.2.0,其中包含了许多增强功能、错误修复以及引导重构。

但首先…

我们有一个新的标志!

即将出现在您附近的笔记本电脑上:

感谢 Chris Wallace 和 Lift UX 团队的工作,以及所有对我的反馈做出回应的人。

命令抽象到不同的包

我们将项目分解了!

主要的 wp-cli/wp-cli 仓库现在只包含框架本身。所有捆绑的命令都可以在单独的仓库中找到。例如,wp cache *系列命令现在位于 github.com/wp-cli/cache-command 。

这种抽象提供了一些好处:

  • 在开发时,只对您正在工作的特定组件运行测试,使反馈循环更短。
  • 可以独立控制和设置各个命令包,为更好的协作提供机会。
  • 可以发布各个命令的热修复和中间版本,然后通过内置的包管理器进行更新。
  • 现在测试运行非常快。
  • 当您提交拉取请求时,无需等待两个小时来运行测试。

对于使用 Composer 的 WP-CLI 用户,您可以像通常贡献 Composer 依赖关系一样为包做出改进。使用 composer install --prefer-source 来安装 Git 克隆的依赖项。

对于通过 Phar 可下载的 WP-CLI 用户,您可以通过安装包 (将覆盖捆绑版本) 来贡献改进。例如,对于缓存命令,可以使用以下命令:

$ wp package install git@github.com:wp-cli/cache-command.git
$ cd $(wp package path wp-cli/cache-command)

查看 #3728 以了解原始历史。要更好地了解底层基础架构,请阅读 Alain 关于新的引导机制、管理命令依赖和依赖关系解决机制的帖子。

接下来:贡献工作流程

包抽象和引导过程的投资是我们改进贡献工作流程的一部分。

最终,我们希望为项目的贡献提供:

  • 轻松。 虽然了解 WP-CLI 代码库需要一定的技术知识,但那些能够为代码库做出贡献的人应该能够尽量少地增加负担。
  • 愉快。 改进 WP-CLI 应该是有趣的,有回报的。对于贡献者来说,这意味着定义明确的入口点、足够的工作流程文档、清晰表达的愿景、路线图和决策过程等等。

对于新贡献者,我们现在有一个 「Good First Issues」 页面:

对于提交者,我们现在有一个自定义仪表板的开端:

贡献工作流程的工作是一个持续进行的过程。我们还没有深入挖掘。

可以期待在构成贡献者体验的一些关键领域看到很多工作:

  • 明确决策过程,将想法转化为新命令。我们需要找出如何可持续地将想法转化为维护的包。
  • 通过文档、工具和流程改进新提交者的入职流程。阅读提交者信仰以更好地了解我们的期望。

在我们的每周办公时间或 WordCamp Europe 期间加入对话,时间为 2017 年 4 月 26 日星期三 GMT+8 上午 12:00 。

新命令

想要检查您的 wp-config.php 是否正常?使用 wp config get 列出 wp-config.php 中定义的常量和全局变量 [#9]

$ wp config get --fields=key,value
+--------------------+-----------------+
| key                | value           |
+--------------------+-----------------+
| table_prefix       | wp_             |

不想记住 wp-config.php 在文件系统中的位置?使用 wp config path 来获取 wp-config.php 的路径 [#7]

# 在您的编辑器中编辑 wp-config.php 。
$ vim $(wp config path)

想知道您的数据库有多重?运行 wp db size 来获取数据库和其表的大小 [#16]

$ wp db size --tables
+-----------------------+--------+
| Name                  | Size   |
+-----------------------+--------+
| wp_users              | 64 KB  |
| wp_usermeta           | 48 KB  |
| wp_posts              | 4 MB   |
| wp_comments           | 2 MB   |
| wp_links              | 32 KB  |
| wp_options            | 1 MB   |
| wp_postmeta           | 8 MB   |
| wp_terms              | 416 KB |
| wp_term_taxonomy      | 336 KB |
| wp_term_relationships | 736 KB |
| wp_termmeta           | 48 KB  |
| wp_commentmeta        | 2 MB   |
+-----------------------+--------+

v1.2.0 中的其他一切

命令改进

  • wp core install
    • 为管理员用户生成 18 字符的密码 [#4002] 。
  • wp cron event run
    • 仅在使用--due-now 传递 $args 时运行指定的事件 [#11] 。
  • wp db *
    • 在调用 MySQL 可执行文件时,使用/usr/bin/env mysql 而不是 mysql[#14] 。
  • wp db (drop|reset)
    • wp db dropwp db reset 命令的确认提示中显示数据库名称 [#12] 。
  • wp db export
    • 在导出数据库时添加--exclude_tables=<tables> 选项 [#20] 。
  • wp db import
    • 通过禁用自动提交和 (唯一和外键) 键检查来加速导入过程 [#3829] 。
  • wp language core install
    • 即使语言已安装,也会处理--activate 标志 [#3851] 。
  • wp language core (install|uninstall)
    • 允许一次安装或卸载多种语言 [#4, #5] 。
  • wp media import
    • 以多种方式改进错误处理 [#3755] 。
  • wp media regenerate
    • 在重新生成时删除现有的 PDF 预览图像 [#3824] 。
    • 修复当图像尺寸小于注册的图像尺寸时的媒体重新生成 [#5] 。
    • 添加--image_size=<size> 以重新生成特定图像大小 [#9] 。
  • wp menu location assign
    • 增加了详细程度和错误报告 [#3852] 。
  • wp package *
    • 修复了在 Windows 下从 get_composer_json_path()返回的路径 [#11] 。
  • wp plugin install
    • 在从 GitHub 原始 ZIP URL 安装时禁用重命名行为 [#3823] 。
  • wp plugin update
    • 引入了--minor--patch 标志,以限制基于语义版本的更新 [#13] 。
    • 插件更新失败时显示正确的错误 [#3803] 。
  • wp (plugin|theme) update
    • 添加--exclude=<name> 参数以排除更新插件或主题 [#16] 。
  • wp post term *
    • 引入了--by=id 参数以显式处理术语作为 ID[#3896] 。
    • 基于术语计数来复数化消息 [#3898] 。
  • wp rewrite *
    • 在使用--skip-plugins--skip-themes 管理重写时,警告用户,因为重写可能会丢失 [#3917] 。
  • wp scaffold (child-theme|_s)
    • 包括基于 WordPress 编码标准的默认.editorconfig[#3902] 。
  • wp scaffold plugin-tests
    • .travis.ymlcircle.yml 进行了多项改进 [#3919] 。
    • .travis.yml 中缓存 Composer [#3816] 。
    • PHP 5.* 安装 PHPUnit 4.8.*,为其他版本安装 PHPUnit 5.7.* [#6] 。
    • circle.yml 中测试 PHP 7 版本 [#16] 。
  • wp server:
    • 允许使用环境变量定义特定的 PHP 二进制文件 [#3868] 。
  • wp user create:
    • 为新用户生成 24 位密码 [#7] 。
  • wp user import-csv:
    • 在更新用户时禁用 core 的电子邮件通知 [#3904] 。

框架增强

  • 现在 WP-CLI 可以与 Symfony 3.x 组件一起使用,而且无需破坏向后兼容性 [#4067] 。
  • 新增 hooks:
    • before_add_command:<parent command> 允许您在添加命令之前检查运行时要求
    • after_add_command:<parent command> 允许您在触发特定父命令之前依赖于父命令 [#4033] 。
  • 自动命令依赖解析。如果子命令依赖于尚未注册的父命令,那么将延迟添加子命令,直到父命令可用 [#4094] 。
  • 拼写建议。如果您输入命令时出现拼写错误,WP-CLI 现在足够智能,会建议您可能想要输入的内容,并建议这些更正的拼写。这有助于发现和解决错误。拼写建议适用于命令、参数和别名 [#4004,#4008,#4109] 。
  • 默认情况下,帮助文档每行不超过 80 个字符。以前也有自动换行,但不一致,所以经常出现问题 [#4105] 。
  • 多种测试框架改进:
    • 在子目录路径中替换变量 [#4085] 。
    • 安全地强制删除 RUN_DIR,以确保 Behat 不会在清理时挂起 [#4112] 。
    • 以跨平台兼容的方式终止所有启动的后台进程 [#4074] 。
    • 仅在 WP_VERSION 不是 「latest」 或 「nightly」 时应用 @require-wp 标签,以确保在这些上下文中运行完整的测试套件 [#4055] 。

本次发布的贡献者 (总共 43 位): 1naveengiri,aaemnnosttv,afragen,balbuf,behzod,carl-alberto,CodeProKid,danielbachhuber,davgothic,diablodale,diggy,dnmvisser,fjarrett,flaskboy,geekoun,gitlost,hason,JayWood,jeremyfrady,ka7,kcarwilemiller,lichtscheu,mbovel,MiteshShah,miya0001,Nikschavan,ntwb,petenelson,rahul3883,raquelmsmith,Rarst,ryanshoover,schlessera,Sidsector9,SosyalAlkolik,ssnepenthe,Steveorevo,tfrommen,tillkruss,timdream,trepmal,wp-make-coffee,zacksheppard

文章目录



发表评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注