喔耶!
在过去的五年多时间里,数百名贡献者共同努力,为您带来了 WP-CLI v1.0.0,我今天很自豪地宣布。
这个版本代表了很少有开源项目能够达到的成熟水平。它也标志着一个过渡时刻。 WP-CLI 项目将把重心转向 WP-CLI 软件包生态系统,在那里它将通过构建和鼓励新功能作为独立软件包来推动创新。我们希望这种方法将促进更快的迭代和更多的创造力,并更可持续地分担维护负担。随着这些社区软件包的成功,我们将把它们的经验带回 WP-CLI,同时修复错误和进行小的增强。
现在问题积压已经清零,我个人期待着为我的自己的 WP-CLI 创新工作室 runcommand 做更多的创意。
本周去费城吗?我将出席 Post Status Publish 和 WCUS(尽管只到周五下午) 。打个招呼吧 – 我在 Twitter 上是 @danielbachhuber 。
接下来,让我们继续…
介绍 WP_CLI::runcommand()
WP_CLI::runcommand()
(文档) 是从 WP-CLI 命令中运行 WP-CLI 命令的新方法。就好像 WP_CLI::run_command()
和 WP_CLI::launch_self()
成长起来、结婚并生下了完美的孩子。
使用 WP_CLI::runcommand()
,您可以:
- 启动新的子进程 (默认),或重用现有进程。
- 可选择在错误时防止进程退出。
- 返回由命令生成的标准输出 (STDOUT),或所有命令执行细节 (STDOUT 、 STDERR 、 return_code) 作为对象。
- 可选择将捕获的 STDOUT 解析为 JSON 。
相关的拉取请求包括:#3605,#3619,#3621 。
重大变更:部分批量操作失败时使用返回码 1
某些命令支持对多个资源执行相同的操作 (例如,使用 wp plugin update akismet hello
更新两个或更多插件) 。以前,如果其中一个操作失败 (例如,plugin 更新未能下载),WP-CLI 将显示警告,继续执行,并以返回码 0 退出。从 v1.0.0 开始,当一个或多个操作失败时,WP-CLI 将使用返回码 1 。
更多背景和原因,请参见此问题。
受影响的命令包括:
wp media (regenerate|import)
wp menu delete
wp menu item delete
wp plugin (install|activate|update|toggle|deactivate|uninstall|delete)
wp super-admin add
wp theme (install|update)
wp term delete
wp widget (delete|deactivate|reset)
在您的自定义 WP-CLI 命令中使用 WP_CLIUtilsreport_batch_operation_results()
(文档) 更容易支持这种行为。
相关的拉取请求包括:#3584,#3583,#3582,#3585,#3586,#3588 。
1.0.0 中的其他一切
新命令:
wp package update
– 更新所有已安装的 WP-CLI 软件包到它们的最新版本。wp scaffold theme-tests
– 为主题创建 PHPUnit 测试脚手架。
命令改进:
wp cache type
:- 支持 WP LCache 作为缓存类型 [#3504] 。
wp cli aliases
:- 为更容易访问添加
alias
子命令 [#3512] 。
- 为更容易访问添加
wp cli update
:- 在更新时验证发行哈希值 [#3515] 。
- 在以根用户身份运行时不再需要
--allow--root
标志 [#3576] 。
wp core config
:- 确保 WordPress 编码标准应用于生成的 wp-config[#3496] 。
wp core (install|multisite-install)
- 默认使用随机生成的密码
--admin_password=<password>
,现在是可选的 [#3535,#3573] 。
- 默认使用随机生成的密码
wp core language (install|update)
:- 缓存语言包下载 [#3595] 。
wp core update
:- 在
CoreUpgrader
类中使用全局命名空间的WP_Error
[#3593] 。
- 在
wp core update-db
:- 为更新过程设置
WP_INSTALLING
常量 [#3503] 。
- 为更新过程设置
wp package install
:- 在包 composer.json 中使用提供的版本,而不是 「dev-master」[#3519] 。
- 向包管理器的
composer.json
添加 WP-CLI 版本,以优雅地处理 WP-CLI 版本约束 [#3603] 。
wp package list
:- 指示有可用更新的包 [#3611,#3612] 。
wp post delete
:- 在成功消息中正确指示 revisions 立即删除 [#3524] 。
wp scaffold plugin
:- 在
.gitignore
和.distignore
中忽略分发归档文件 [#3520] 。 - 在
.distignore
中忽略circle.yml
,.gitlab-ci.yml
和behat.yml
[#3599] 。
- 在
wp scaffold plugin-tests
:- 在
install-wp-tests.sh
中检出数据目录,以防止在 WP 4.7 中出现提示 [#3571] 。
- 在
框架增强:
- 将基于 Composer 的依赖项更新为最新版本 [#3498,#3525] 。
- 引入
--prompt=<assoc>
以提示特定的关联参数,使用户避免在 bash 历史中暴露安全数据 [#3531] 。 - 添加对 Cygwin 附带的 PHP 版本的支持 [#3591] 。
此版本的贡献者 (拉取请求、文档和软件包作者):abea 、 anttiviljami 、 cobyan 、 danielbachhuber 、 diggy 、 ernilambar 、 franz-josef-kaiser 、 greatislander 、 itspriddle 、 miya0001 、 mmcev106 、 mopquill 、 ocean90 、 pj-dave 、 pkarjala 、 richardbuff 、 sommarnatt 、 szepeviktor 、 torounit
您可以在 Github 上查看已解决问题的完整列表。
发表回复