WP-CLI v0.22.0 发行说明

2016 年快乐!在我深入研究 RESTful CLI 项目之前,我想您可能会喜欢一个新的 WP-CLI 版本。

使用 wp cli update 来安装 v0.22.0,包括 137 个已解决的问题和拉取请求。以下是新的功能。

搜索替换,用于爱和利润

上个月,Pantheon 慷慨赞助了 15 小时的我的时间,以解决一些长期积压的错误,并进行一些重大增强。

让我们从好消息开始:

  • 性能提升!现在,WP-CLI 只运行一次 MYSQL LIKE 语句,而不是每 1000 行运行一次 [#2304] 。在一个大约 350 万行的帖子 meta 表中,其中有 75,610 行受影响,这一更改将执行时间从 734.926 秒提高到 225.509 秒 (快了 3.3 倍) 。
  • 使用--export=<filename> 参数来创建转换后的数据的 SQL 文件,而不是对数据库进行更新 [#2254] 。当您希望为新环境准备数据库而无需导入然后运行搜索替换时,这是一个有用的功能。
  • 可以在表名中使用通配符 [#2233] 。使用 wp search-replace <old-string> <new-string> '*meta*'来搜索替换只是带有 meta 的表。注意:模式需要用引号引起来,因为*在 Bash 中是一个特殊字符。

我还解决了许多搜索替换错误和小的增强功能:

  • 默认情况下,在替换序列化数据内部时递归对象 [#2222] 。除其他功能外,这可以确保主题修改按预期进行转换。您可以使用--no-recurse-objects 来禁用此行为。但是,如果您禁用了此行为,我希望能听到您的意见。我认为这是一个可以在以后删除的不必要选项。
  • 正确转义用于搜索或替换字符串的引号 [#2230] 。
  • 告知用户在执行搜索替换过程后刷新持久对象缓存 [#2236] 。
  • 当替换字符串与搜索字符串相同时,提前退出 [#2235] 。
  • 在使用--verbose 运行搜索/替换时指示执行时间 [#2242] 。
  • 当没有需要替换时,防止不必要的调用 $wpdb->update() [#2245] 。
  • 在正则表达式模式下去除不必要的 REGEXP 查询 [#2305] 。

受支持版本的更改

WP-CLI 的最低受支持的 WordPress 版本现在是 3.7 [#2261] 。

我们还正式支持 PHP 7 [#2330] 。

v0.22.0 中的其他一切

wp scaffold (plugin|plugin-tests)的改进:

  • 通过仅在分支的初始构建失败时发送电子邮件通知来减少 Travis 的噪音 [#2194] 。
  • Plugin 的 header 遵循 WordPress 的 PHPDoc 标准 [#2197] 。
  • 向 PHPUnit 配置文件添加.dist 扩展名,以允许使用本地配置文件进行覆盖 [#2247] 。
  • 解析 readme.txt 以查找用作 Travis 测试版本的 WordPress 版本 [#2255] 。
  • 包括默认的.gitignore [#2297] 。

现有命令的新标志:

  • wp core update --minor 仅执行小更新 [#2256] 。
  • wp (post|comment|user) meta delete <id> --all 删除给定对象上的所有元数据值 [#2265] 。
  • wp core update-db --dry-run 查看是否需要升级数据库 [#2293] 。
  • wp media regenerate --only-missing 用于在包含大量图像的站点上提供更快的性能,其中仅有少量缺少大小的图像 [#2292] 。
  • wp cron event run --all 执行所有已注册的 cron 事件 [#2323] 。
  • wp site empty --uploads 清空站点并删除其上传目录 [#2339] 。
  • wp core install --skip-email 在没有电子邮件通知的情况下安装 [#2345] 。
  • wp transient (get|set|delete) --network 用于管理站点短时存储 [#2351] 。

框架增强:

  • 在比较 WordPress 版本时引入 wp_version_compare() [#2237] 。 SVN 和 Git 标签在 $wp_version 中包括-src,这是 version_compare()不喜欢的。
  • 在设置时推迟使用 $PAGER 环境变量 [#2264] 。
  • 向项目引入 composer.lock 文件,以修复对特定散列的依赖关系 [#2280] 。
  • 通过全局化 wp-config.php 中定义的任何新变量,因为它们预计是全局的 [#2318] 。
  • 如果缺少--require=<file>,则指定缺失文件引用位置的上下文,以便更容易进行调试 [#2336] 。
  • 使用 mustangostang/spyc 而不是捆绑我们自己的副本 [#2350] 。 Spyc 类仍然在全局命名空间中可用。
  • 引入 WP_CLIUtilsget_temp_dir()以获取更安全的临时目录 [#2353] 。

其他命令的改进:

  • 在建立自定义 taxonomy 时包括 not_found 标签 [#2196] 。
  • 允许在文件名中不包含.zip 的情况下安装远程插件文件 [#2193] 。
  • 在将用户添加为超级管理员时,警告如果用户已经是超级管理员 [#2202] 。
  • wp import 中使用 WP_CLI::log()而不是 WP_CLI::line(),因此尊重--quiet 标志 [#2234] 。
  • 为通配符表 (wp db tables)(例如*meta*),--all-tables-with-prefix--format=csv 增加支持 [#2250] 。
  • 在安装插件或主题时,资源未找到时改进错误消息 [#2253,#2267] 。
  • 使用--filename_format=<format> 支持自定义 wp export 文件名格式 [#2230]
  • 假设在 wp install 期间出现数据库错误,这是安装失败,并相应地报告 [#2337] 。
  • wp scaffold plugin 时在运行时公开插件标头详细信息 [#2338] 。
  • wp scaffold package-tests 中包括 ci/behat-tags.php 文件 [#2342] 。

全面的错误修复:

  • 在检测到 WP 但未安装时允许 help 提前运行 (例如,wp core config --help) [#2190] 。该错误是在 v0.20.0 中引入的。
  • 在创建 child theme 时,为子主题的 enqueue 函数创建父主题 slug 的安全版本 [#2203] 。以前,如果父 slug 包括破折号,将生成无效的 enqueue 函数。
  • 在查找 wp-config.php 并启用 PHP 的 open_basedir 时抑制错误通知 [#2211] 。
  • 修复了 WP_CLILoggersQuiet 中的错误通知 [#2210] 。
  • 在 custom post type scaffolding 中修复了 all_items 标签 [#2213] 。
  • 确保在下载夜间 WP-CLI Phar 构建时,实际下载的是夜间版本,而不是重定向 [#2214] 。
  • 在安装 multisite 时,将 upload_space_check_disabled 设置为 1 。这与新安装上的 core 行为相符。
  • 在图像重生失败时提供更有帮助的消息 [#2239] 。
  • 在删除父项时正确更新菜单子项父项 [#2262] 。
  • 在使用 wp rewrite structure 时停止在重写规则前缀中添加 index.php [#2279] 。
  • wp transient set 简介中修复拼写错误 [#2282] 。
  • 为非美国英语区域恢复 wp core verify-checksums 支持 [#2287] 。该错误是在 v0.21.0 中引入的。
  • 在可用时,切换到 readline 库,以更好地支持使用--prompt 的箭头键 [#2325] 。
  • WP_CLIFormatter 在对象上适当检查 null 值 [#2322] 。
  • wp media import 中,使用主机而不是方案来确定文件是远程还是本地,以支持 Windows[#2324] 。
  • 确保在指定无效的--version=<version> 的情况下更新插件时不会删除插件 [#2346] 。

该版本的贡献者包括:2ndkauboy, coreyworrell, danielbachhuber, davidleach, duncanjbrown, ernilambar, fjarrett, gilbitron, greg-1-anderson, iandunn, jjeaton, modelm, rodrigoprimo, ryanshoover, stevector, szepeviktor, tristanpenman, x1024 。

您可以在 Github 上查看所有已解决问题的完整列表。

文章目录


https://wptea.com/?p=4938


发表评论

发表回复

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