# WP-CLI  v1.2.0  发行说明

*Published:* 2017-06-01
*Author:* 壳壳虫

“

发布日快乐！

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

但首先…

我们有一个新的标志！
----------

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

![](https://wptea.com/wp-content/uploads/2023/10/wp-cli-cropped.png)感谢Chris Wallace和Lift UX[8](#024ca2c7)团队的工作，以及所有对我的反馈做出回应的人。

命令抽象到不同的包
---------

我们将项目分解了！

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

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

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

对于使用Composer[1](#b7d30c9f)的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”页面：

![](https://wptea.com/wp-content/uploads/2023/10/good-first-issues.png)对于提交者，我们现在有一个自定义仪表板的开端：

![](https://wptea.com/wp-content/uploads/2023/10/dash-screenshot.png)贡献工作流程的工作是一个持续进行的过程。我们还没有深入挖掘。

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

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

在我们的每周办公时间或WordCamp[2](#172d93d8) 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<sup class="fn" data-fn="d811ec15"><a href="#d811ec15" id="d811ec15-link">7</a></sup>   |
| 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 drop`和`wp 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[4](#0d087bb4)原始ZIP URL[6](#aa576bac)安装时禁用重命名行为\[#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.yml` 和 `circle.yml` 进行了多项改进 \[#3919\]。
    - 在 `.travis.yml` 中缓存 Composer \[#3816\]。
    - 为 PHP `5.*` 安装 PHPUnit[3](#908a4809) `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

### 名词解释

1. Composer：PHP 的依赖管理工具 [↩︎](#b7d30c9f-link)
2. WordCamp：WordPress 社区全球官方交流活动 [↩︎](#172d93d8-link)
3. PHPUnit：PHP 语言的单元测试框架 [↩︎](#908a4809-link)
4. GitHub：全球最大的代码托管和协作开发平台 [↩︎](#0d087bb4-link)
5. WP-CLI：WordPress 的命令行管理工具 [↩︎](#d7bb736e-link)
6. URL：统一资源定位符，即网址 [↩︎](#aa576bac-link)
7. MB：兆字节（存储单位） [↩︎](#d811ec15-link)
8. UX：用户体验 [↩︎](#024ca2c7-link)
<!-- WP Chinese Converter Full Page Converted. Target Lang: zh-sg -->