今天又是发布日!
我们很高兴地为您带来 WP-CLI v1.5.0,自 2017 年 11 月 v1.4.1 以来合并了总共 279 个拉取请求。
这次发布由不知疲倦的 Martin Burke(@gitlost) 领导,他确保了没有一个 bug 被忽视,没有一个边界情况未经测试。
新的提交者
- Pascal(@swissspidy) 住在瑞士苏黎世。除其他贡献外,他一直在处理
embed
命令族的艰苦工作。
插件 校验验证
WP-CLI 现在可以通过新的 plugin verify-checksums
命令来验证已安装插件的完整性 (除了已有的 core verify-checksums
命令) 。 [#15], [#26]
# 验证所有已安装插件的文件与官方校验和是否匹配。
$ wp plugin verify-checksums --all
+-------------+---------------+-------------------------+
| plugin_name | file | message |
+-------------+---------------+-------------------------+
| gutenberg | backdoor.php | 文件已添加 |
| gutenberg | gutenberg.php | 校验和不匹配 |
+-------------+---------------+-------------------------+
错误:只验证了 1 个插件中的 2 个 (1 个失败) 。
注意:这是该功能的第一个迭代版本,仍然存在一些限制:
- 它仅适用于托管在官方插件仓库中的插件。
- 它仅适用于这些插件的最新版本,因为我们尚未在 wordpress.org 后端部署代码来为旧版本生成校验和。
在您计划使用这个新命令时,请牢记这些限制。
随着我们进一步迭代此项目,允许验证来自主题仓库的所有免费主题,以及希望以后也包括第三方插件/主题,我们欢迎任何反馈意见以改进当前的实施。
WordPress 配置文件操作
现在,管理您的 wp-config.php
文件变得更加容易!我们不仅改进了 config get
,还包括了 config has
和可过滤的 config list
命令… 不仅如此,我们最终为您带来了全新的 config set
和 config delete
命令,用于 WordPress 配置文件操作。 [#42], [#44]
# 获取在 wp-config.php 文件中定义的 table_prefix 。
$ wp config get table_prefix
wp_
# 检查 wp-config.php 文件中是否存在 DB_PASSWORD 常量。
$ wp config has DB_PASSWORD
(返回退出代码)
# 仅从 wp-config.php 文件中列出数据库用户和密码。
$ wp config list DB_USER DB_PASSWORD --strict
+-------------+-------+----------+
| key | value | type |
+-------------+-------+----------+
| DB_USER | root | constant |
| DB_PASSWORD | root | constant |
+-------------+-------+----------+
特别感谢 @fjarrett 对 wp-cli/wp-config-transformer
软件包的出色工作,它支持了对 wp-config.php
的更改。
oEmbed 管理
新的 embed
命令允许您检查和操作 oEmbed 对象,例如,您可以清除特定帖子的缓存值:
$ wp embed cache clear 123
成功:已清除 oEmbed 缓存。
或者重置缓存值:
$ wp embed cache trigger 123
成功:已触发缓存!
您可以使用 fetch
查看 URL 的嵌入 HTML:
$ wp embed fetch https://www.youtube.com/watch?v=dQw4w9WgXcQ
[youtube https://www.youtube.com/watch?v=dQw4w9WgXcQ?feature=oembed&w=525&h=295]
或者使用 --raw
选项查看提供程序返回的内容:
还有很多功能!
数组参数支持 (目前仅限 meta)
post create
和 post update
命令的 --meta_input
选项现在接受 JSON 格式的数组,因此您可以一次性添加或更新帖子及其元数据:
$ wp post create --post_title='Title' --post_content='Content.' --meta_input='{""key1"":""value1"",""key2"":""value2""}
成功:已创建帖子 123 。
这是一个很好的时间节省方式,因为以前您需要运行三个单独的命令才能获得相同的结果。
这个看似无害的变更意味着我们终于可以通过这个 JSON 语法接受关联数组作为参数。 --meta_input
参数可能只是更多功能的第一个。
v1.5.0 中的其他内容
向后兼容性破坏
请注意,一个框架变更 [#4624] 改变了对 db search
、 db tables
和 search-replace
命令的表 filter 参数的行为。
现在,表筛选参数:
- 在给定表筛选而不给定
--all-tables-with-prefix
或--all-tables
选项时,将尊重注册的wpdb
表。 - 在给定
--network
选项时,不会忽略--scope
选项。 - 表总是以排序顺序返回。
还请注意,option list
现在不再默认显示瞬时值 (transients)[#127] 。
新的和值得关注的
user reset-password
: 重置用户的密码 [#119] 。- 命令描述现在遵循 WordPress 的规范,使用第三人称单数,感谢 DrewAPicture!
命令改进
cli info
:- 显示操作系统和 shell 信息 [#4604], [#4610] 。
core download
:- 当 ZIP URL 为
'http://'
时,跳过缓存以获取夜间版本 [#44] 。
- 当 ZIP URL 为
core update
:- 在 WP
get_core_checksums()
中忽略 SSL trigger_error [#48] 。 - 使用
ZipArchive
删除wp-content/
以始终允许--skip-content
[#59] 。
- 在 WP
core verify-checksums
- 在 WordPress 根目录中包含以
wp-
为前缀的文件时,警告 [#28] 。
- 在 WordPress 根目录中包含以
db *
:- 使用新的
after_wp_config_load
钩子来提前调用db
命令 [#57] 。
- 使用新的
db check/cli/create/drop/export/import/optimize/query/repair/reset
:- 为所有提升权限命令添加
--dbuser
和--dbpass
选项,以及check
、optimize
和repair
命令的额外参数选项 [#75] 。
- 为所有提升权限命令添加
db search
:- 注意:有关表筛选参数的处理,请参见上面的向后兼容性破坏 [#4624] 。
db size
:- 确保
--size_format=<format>
参数的默认值始终为字节 [#69] 。 - 包括 TB 和 GB 数据库大小格式的支持 [#81] 。
- 确保
db tables
:- 注意:有关表筛选参数的处理,请参见上面的向后兼容性破坏 [#4624] 。
export
:- 当已指定
--post__in
时,添加--with_attachments
选项以强制包括附件 [#16] 。
- 当已指定
media image-size
:- 在输出中添加尺寸比率 [#58], [#59] 。
media regenerate
:- 如果没有尺寸元数据,不会抛出 PHP 警告 [#61] 。
option get
:- 如果选项不存在,显示错误消息 [#126] 。
option list
:- 默认情况下不显示瞬时值 [#127] 。
package *
:- 支持混合大小写的包名称 [#49], [#50] 。
- 添加
GITHUB_TOKEN
和COMPOSER_AUTH
处理 [#47] 。
package browse/list
:- 如果浏览/列出软件包时,Composer 无法访问存储库 [#60],则捕获异常。
package install/uninstall
:- 在内存限制错误时还原
composer.json
[#64] 。
- 在内存限制错误时还原
package install
:- 从正确的分支检索软件包名称 [#65] 。
plugin install
:- 将 Github 项目名称用作 Github 存档 URL 的插件目录 [#81]
post create/update
:- 通过将 JSON 格式的数组传递给
--meta_input
[#133],[#138] 来添加添加多个元数据的功能。
- 通过将 JSON 格式的数组传递给
post create
:- 在
--post_category
中接受category
标签,检查是否提供了不正确的 ID 或标签 [#129] 。
- 在
post delete
:- 纠正删除消息 [#124] 。
post generate
:- 添加对生成特定
post_title
的支持 [#94] 。
- 添加对生成特定
scaffold block
:- 为插件或主题构建基本的 Gutenberg 块 [#96] 。
- 基于 Gutenberg 手册添加内联文档,生成
style.css
,支持最新的supportsHtml
API,WordPress 编码标准修复 [#107] 。 - 将 PHP 模板更新为最新的推荐方法 [#111] 。
scaffold child-theme
:- 生成符合 WordPress 编码标准的代码 [#117] 。
scaffold plugin
:- 为构建的
Gruntfile.js
添加默认任务 [#87] 。 - 生成符合 WordPress 编码标准的代码 [#120] 。
- 为构建的
scaffold plugin-tests
:- 使用 Composer 确定要安装的 PHPUnit 版本,而不是根据 Travis 环境变量 [#75] 。
- 将
phpunit.xml.dist
添加到 XML 声明 [#78] 。 - 在
bootstrap.php
中使用更新的错误消息 [#90] 。 - 从 Travis CI 缓存中删除 Composer 供应商目录 [#99] 。
scaffold post-type
:- 从 dashicon 参数中修剪
dashicon-
以防止重复字符串 [#70] 。 - 刷新构建的文章类型标签 [#84] 。
- 生成符合 WordPress 编码标准的代码 [#110] 。
- 从 dashicon 参数中修剪
scaffold taxonomy
:- 将
term_updated_messages
添加到构建的分类法 [#82] 。 - 生成符合 WordPress 编码标准的代码 [#112] 。
- 将
scaffold theme-tests
:- 向
tests/bootstrap.php
添加theme_root
过滤器,以确保主题的functions.php
被加载 [#116] 。
- 向
search-replace
:- 注意:请查看上面关于表过滤参数处理的向后兼容性破坏 [#4624] 。
- 添加
--skip-tables=<tables>
参数以排除特定表格 [#48] 。 - 在使用
--report-change-only
时禁用没有索引的报告表 [#54] 。 - 对报告进行一般改进,包括在没有表格输出时禁用表格显示 [#57] 。
- 修复未引用非整数主键 [#59],[#63] 。
user remove-caps
:- 如果权限不存在或从角色继承 [#125],则出错。
框架增强
- 在无法创建缓存目录时改进警告 [#4456] 。
- 允许
@when
方法覆盖类@when
[#4458] 。 - 从帮助文本中提取链接到脚注 [#4465] 。
- 实现命令命名空间 [#4470] 。
- 生成没有
set_url_scheme()
的get_site_url()
[#4473] 。 - 引入新的
after_wp_config_load
挂钩 (用于早期调用wp db *
)[#4488] 。 - 使用
vagrant ssh-config
自动获取主机名 [#4495] 。 - 在找不到安装时指示数据库中的其他 WP 安装 [#4476] 。
- 允许在 Debian 构建中使用
php7.1-mysql
[#4511] 。 - 在注册命令时支持
'longdesc'
作为命令参数 [#4513],[#4636] 。 - 改进提取器错误消息 [#4510] 。
- 在 multisite 上运行
wp cache flush
和wp search-replace
,即使找不到站点 [#4527] 。 - 修复在 Windows git/cygwin bash 上提示问题 [#4547] 。
- 除非启用全局术语,否则不显示
'sitecategories'
表 [#4552] 。 - 确保晚注册的命令出现在使用中 [#4564] 。
- 改进在调用进程和使用 more.com 时的 Windows 兼容性 [#4572],[#4595] 。
- 在 RPM 构建中使用更柔和的 PHP 要求 [#4571] 。
- 仅当它们产生有效选项时才提供基于字典的建议 [#4590] 。
- 向
make_progress_bar()
添加间隔参数 [#4603] 。 - 添加
Utils\esc_like()
对wpdb
版本的补充 [#4612] 。 - 正确处理
wp_get_table_names()
中的通配符 (见上述向后兼容性破坏)[#4624] 。 - 添加 shell 数组解析助手 [#4623],[#4635] 。
- 检查 WordPress core 文件的可读性 [#4626] 。
- 为错误输入添加一些建议 [#4577] 。
这次发布的贡献者总共有 39 位。
ahmadawais, BhargavBhandari90, danielbachhuber, davidbhayes, DrewAPicture, drzraf, ecotechie, emgk, eriktorsner, fjarrett, gitlost, grantpalin, gziolo, inetbiz, kirtangajjar, LC43, lukecav, marcochiesi, marksabbath, miya0001, mm-pagely, neonardo1, ntwb, ocean90, playmono, rkialashaki, runofthemill, ryotsun, sagarprajapati, schlessera, Shelob9, ssnepenthe, swissspidy, szepeviktor, terriann, thrijith, vbaranovskiy-plesk, vigilanteweb, websupporter
发表回复