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上查看所有已解决问题的完整列表。





发表回复