今天又是发布日!
我们很高兴地为您带来 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,支持最新的supportsHtmlAPI,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





发表回复