WP-CLI v1.5.0 发行说明

Wpcli logo

今天又是发布日!

我们很高兴地为您带来 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 setconfig 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 createpost 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 searchdb tablessearch-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]。
  • core update:
    • 在 WP get_core_checksums() 中忽略 SSL trigger_error [#48]。
    • 使用 ZipArchive 删除 wp-content/ 以始终允许 --skip-content [#59]。
  • core verify-checksums
    • 在 WordPress 根目录中包含以 wp- 为前缀的文件时,警告[#28]。
  • db *:
    • 使用新的 after_wp_config_load 钩子来提前调用 db 命令[#57]。
  • db check/cli/create/drop/export/import/optimize/query/repair/reset:
    • 为所有提升权限命令添加 --dbuser--dbpass 选项,以及 checkoptimizerepair 命令的额外参数选项[#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_TOKENCOMPOSER_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]来添加添加多个元数据的功能。
  • 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]。
  • 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 flushwp 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

文章目录



发表评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注