尽管WP-CLI是一个成熟的项目,但我们仍然在每个版本中包含了一系列出色的改进。以下是v0.20.0中的新功能:
正则表达式,详细的搜索替换
使用--regex标志来进行wp search-replace,等待……使用正则表达式进行搜索和替换操作。使用--verbose标志,您将在操作执行时看到受影响的每一列:
$ wp post get 1 --field=title
Hello world
$ wp search-replace '(Hello)s(world)' '$2, $1' --regex --verbose
...
检查:wp_posts.post_content
0行受影响
检查:wp_posts.post_title
1行受影响
检查:wp_posts.post_excerpt
0行受影响
...
$ wp post get 1 --field=title
world, Hello
注意:使用--regex进行搜索替换比不使用要慢15-20倍。请确保在您的迁移计划中考虑性能损耗,并明智地使用。
主要错误修复:缓存的部分升级文件伪装成完整升级
自v0.17.0以来(拉取请求),WP-CLI错误地以有损的方式缓存了部分归档。更具体地说,部分升级的ZIP文件将与完整升级的ZIP文件具有相同的键进行缓存。由于文件错误地被缓存,随后的完整升级将使用缓存的部分升级存档。
如果您不能立即升级到v0.20.0,我们还发布了带有错误修复(拉取请求)的v0.17.2、v0.18.1和v0.19.3。缓存密钥也已更改,因此以前的无效WordPress存档会被静默忽略。
使用wp core verify-checksums来确保给定的WordPress安装具有每个文件的正确副本。如果验证失败,请使用wp core download --version=$(wp core version) --force重新安装WordPress。
WP-API CLI
我们在v0.19.0中发布了以下声明:
WP-API距离2.0-beta1还有几天,将为WordPress带来强大的新接口。不久的将来,我们将开始探索WP-CLI如何在内部使用WP-API。如果一切顺利,WP-CLI可能在大版本1.0.0之前发布一个0.x.0版本。
嗯…这是一份大胆的声明。请关注danielbachhuber/wp-rest-cli以获取实施进展。1.0.0仍然很可能是基于WP-API的WP-CLI,但需要进行大量工作才能实现。
有用的一行命令
有一些问题针对“如何执行X?”提出了解决方案,您可能也会发现它们很有帮助:
# 列出网络中每个站点的插件
wp site list --field=url | xargs -n 1 -I % wp plugin list --url=%
# 删除不活动的插件
wp plugin delete $(wp plugin list --status=inactive --field=name)
v0.20.0的其他更改
增强功能:
wp server命令已与WP-CLI捆绑在一起。使用PHP内置的Web服务器为特定的WordPress实例提供服务。- 通过使用
wp cli update --nightly跟踪最新的更新。在下载夜间版本时,版本后面会附加哈希值。 - 添加了简单的
wp comment generate命令。 - 在使用
wp term generate时,将缓存失效推迟到命令的末尾。这可以提高命令的性能。 wp term list支持通过--term_id=<term-id>进行过滤。- 使用
--start_id=<post-id>从给定的帖子ID开始wp export,或使用--post_type=<post-type>,<post-type>导出一组帖子类型。 - 当在多站点上指定无效的
--url=<url>时,引发有用的错误。以前,WP-CLI会静默失败,让用户对为什么命令无法运行感到困惑。 - 使用
wp role --clone=<role>从另一个角色创建新角色。 - 使用
--format=summary获取一行消息,用于wp (plugin|theme) update。 - 不再使用
wp_download_language_pack(),因此可以在设置DISALLOW_FILE_MODS常量的情况下安装语言。
错误修复:
wp term generate尝试在后续执行中生成唯一的术语名称。以前,它会从0开始索引,然后对重复的术语引发错误。- 内部化
wp_clean_update_cache()(用于wp core language list和wp core language update)以防止在WordPress 4.0中引发致命错误。该函数是在WordPress 4.1中引入的。 - 检测到WordPress后,WP-CLI将等待WordPress完全加载后执行
wp help。这意味着向现有命名空间添加命令的插件可以显示其帮助文档。 - 由
wp scaffold plugin-tests命令生成的Travis通知语法已纠正。 - 支持在
WP_CLIUtilshttp_request()中安装到父项目中的Requests。 - 通过
cli update传递--allow-root,以允许根用户更新WP-CLI。 - 在使用WP-CLI选项卡补全后恢复apt-get选项卡补全。
- 允许使用
wp post update分配类别。 - 防止
wp import使用实际需要的内存的两倍,并在大型导入中节省数百MB。
您可以在Github上浏览所有已解决的问题的完整列表。
本次发布的贡献者:boonebgorges、danielbachhuber、janvoracek、gedex、johnbillion、kdoole、marcaddeo、miya0001、montchr、morganestes、rodrigoprimo、rmccue、scribu、stevegrunwell、szepeviktor





发表回复