WP-CLI v0.25.0 发行说明

Wpcli logo

发布日快乐!

今天,我很高兴为您带来 WP-CLI v0.25.0。查看新发布的路线图,了解即将发布的版本和产品重点的详细信息(提示:未来 WP-CLI 将不再支持 PHP 5.3)。

让我们深入了解吧。

与 WordPress 4.7 兼容性

WordPress 4.7 引入了一个新的 WP_Hook 实现,用于注册和执行动作和过滤器。由于 WP-CLI 拥有自己的 WP_CLI::add_wp_hook(),它错误地访问了全局的 $wp_filter,即使 add_filter() 函数可用,WP-CLI 在某些情况下可能会致命错误。现在 WP-CLI 在适当的时候调用 add_filter()

重要的是,由于这些更改的性质,WP-CLI 版本 0.25.0 之前将与 WordPress 4.7 不兼容。

检查此拉取请求中的更改。

包索引中的新包

WP-CLI 社区一直在积极创建新工具供您使用(并回馈):

  • aaemnnosttv/wp-cli-login-command – 使用安全的无密码魔术链接登录到 WordPress。
  • alessandrotesoro/wp-cli-helpscout-docs-parser – 提取 Helpscout 文档文章和类别以构建离线文档。
  • alessandrotesoro/wp-usergen-cli – 为测试目的生成随机用户。
  • anhskohbo/wp-cli-themecheck – 在 WP-CLI 中运行 Themecheck。
  • BeAPI/wp-cli-light-db-export – 允许您导出大型数据库的所有表,但不包括所有数据。
  • binarygary/db-checkpoint – 将您的数据库视为视频游戏中的保存点。
  • brightoak/wp-cli-envoyer – 通过 WP-CLI 调用 Envoyer 部署。
  • getshifter/wp-cli-shifter – 为 Shifter 导入/导出您的 WordPress 站点。
  • eriktorsner/wp-checksum – 验证主题和插件的校验和。
  • iandunn/wp-cli-plugin-active-on-sites – 列出在 多站点 网络中激活了给定的 插件 的所有站点。
  • markri/wp-sec – 检查 wpvulndb.com 上的 WordPress CVE 安全问题。
  • mattgrshaw/wp-installer – 安装和卸载 WordPress 的简单命令。
  • pressbooks/pb-cli – Pressbooks 的一套 wp-cli 命令。
  • runcommand/assign-featured-images – 为支持缩略图的帖子分配特色图片。
  • runcommand/manifest – 生成 WordPress 配置的概述,以更高级的理解 WordPress 内部的运作情况。
  • rxnlabs/wp-composer – 使用 Composer 的强大功能管理您的 WordPress 网站依赖项。
  • trendwerk/faker – 使用 WP-CLI 创建虚假文章数据。
  • trepmal/blog-extractor – 从多站点中提取单个博客。
  • trepmal/wp-revisions-cli – 管理修订版本。
  • welaika/wp-cli-db2utf8 – 将新 WP 安装的数据库编码降级为 UTF8。

使用 wp package install <package-name> 安装其中任何一个(其中 <package-name> 通常是 <user>/<repo>)。当您这样做时,请感谢作者!

安装 WP-CLI 包的更多方式

虽然我们希望看到您的包在包索引中列出,但我们意识到您可能无法这样做。现在,wp package install 支持安装任意 Git URL [#3482]、.zip 文件 [#3485] 或目录路径 [#3484] 作为包。

$ wp package install git@github.com:runcommand/doctor.git
$ wp package install https://github.com/runcommand/doctor.zip
$ wp package install doctor

(doctor 是来自 runcommand 的第二个高级 WP-CLI 命令)

  • Git URL 被视为 VCS 存储库,并克隆到 ~/.wp-cli/packages/vendor
  • ZIP 存档(远程和本地)被解压到 ~/.wp-cli/packages/local,并作为路径存储库添加。
  • 本地目录路径被添加为路径存储库,这意味着 Composer 创建到现有目录路径的符号链接。如果您提供的目录被删除,安装将会中断。

0.25.0 中的其他更改

新命令:

  • wp db check – 使用默认的 --check 选项运行 mysqlcheck [#3332]。
  • wp site option * – 用于管理 WordPress 站点选项的 CRUD 命令 [#3386]。
  • wp user session * – 用于管理用户会话的 CRUD 命令 [#3307]。

命令改进:

  • wp cli update:
    • 引入 --stable 以安装或重新安装最新的稳定版本 [#3430]。
  • wp core config:
    • 向生成的 wp-config.php 添加注释,以更好地匹配由 WordPress core 提供的版本 [#3312]。
  • wp core download:
    • 保留 --version 参数的大小写以正确处理预发布版本 [#3283]。
    • 确保 wp core download --version=latest 生成正确版本的缓存密钥 [#3467]。
  • wp core language update:
    • 修复关于变量引用的严格标准错误 [#3380]。
    • 允许在设置为 en_US 为区域设置时更新语言包 [#3397]。
  • wp core multisite-(install|convert):
    • 在不能插入到 wp-config.php 时发出警告,而不是在末尾错误地插入 [#3272]。
    • 在插入的常数周围包括足够的垂直间距 [#3267]。
  • wp core update-db:
    • 确保 wp core update-db --network --dry-run 实际上是干净的 [#3347]。
  • wp core version:
    • wp core version --extra 中显示默认的核心语言 [#3221]。
  • wp import:
    • 在 WXR 导入进度指示器中指示当前文件,以传达总数是当前文件的总数,而不是所有文件的总数 [#3270]。
  • wp media regenerate:
    • 添加一个简单的进度指示器 [#3407]。
  • wp option list:
    • 添加 --no-transients 标志以忽略瞬态 [#3452]。
    • 添加 --exclude=<exclude> 参数以列出不包括特定模式的选项 [#3455]。
  • wp package install
    • 在安装依赖包时显示包依赖详细信息 [#3418, #3425]。
  • wp package uninstall
    • 在卸载包时删除包的依赖项 [#3343]。
    • 在卸载时正确分配 $composer_backup [#3399]。
  • wp plugin install:
    • 从为基于 Github 的 ZIP 创建的目录中删除分支名称 [#3314, #3451]。
  • wp scaffold plugin-tests:
    • 在 CircleCI 上使用特定于 Trusty 的 PHP 版本 [#3359]。
    • 在 CircleCI 上使用正确的默认用户来运行 MySQL [#3457]。
    • 根据 PHP 版本在 Travis 上使用最新版本的 PHPUnit [#3463]。
    • 将 WordPress Coding Standards 添加到新创建的插件中 [#3472]。
  • wp search-replace:
    • 确保引用表以支持所有允许的字符 [#3318]。
    • 当未定义 export_insert_size 时防止错误通知 [#3357]。
    • 如果由于某种原因 SQL 引发错误,回退到 PHP [#3387]。
  • wp server:
    • 支持传递自定义的 .ini 文件来配置服务器 [#3330]。
  • wp site create:
    • 在创建新站点时,使用 get_blog_details() 来获取站点 URL,以确保显示正确的 URL [#3416]。
  • wp site empty:
    • 确保整个上传目录为空 [#3400]。
  • wp theme install:
    • 在安装 子主题 时正确安装父主题 [#3301]。
  • wp transient:
    • 合并wp transient delete-allwp transient delete-expiredwp transient delete的标志[#3389]。
  • wp user create:
    • 当创建用户时,防止发送电子邮件通知,因为只有在提供--send-email时才应发送电子邮件通知[#3331]。
  • 框架增强:
  • 将基于Composer的依赖项更新为最新版本[#3257, #3429, #3460, #3468]。
  • 正确处理将实例化对象注册为命令[#3269]。
  • ProcessRun类拆分到其自己的文件中[#3377, #3422]。
  • 允许使用WP_VERSION环境变量运行测试套件[#3383, #3392]。
  • 在使用WP版本时,使用Utilsget_named_sem_ver()时防止出现错误通知[#3404]。
  • 修复了在处理nocache_headers filter上的dead_db()错误时出现的致命错误[#3440]。
  • 为防止wp_mail()在使用时引发未捕获的异常,分配了默认的$_SERVER['SERVER_NAME'][#3449]。
  • 在使用别名时,忽略wp-cli.yml中的url:,因为别名完全覆盖了用户、URL、路径、SSH和http[#3450]。
  • WP_CLI::launch()return_code=-1结束时发出警告,这可能是由于使用了--enable-sigchild选项的自定义编译版本的PHP引起的[#3458]。
  • wp_die()处理程序中提供更多的详细信息,以在数据库连接失败时为最终用户提供更多详细信息[#3459]。
  • 支持将参数传递给WP_CLI::do_hook()[#3470]。
  • 在执行别名组时记录当前别名[#3471]。
  • 只在存在值时检查options的位置参数[#3481]。
  • 各种Bash完成改进[#3490, #3491, #3492]。
  • 跨全面修复错误:
  • 为基于Debian的系统上的PHP 7定义了所有必要的依赖关系[#3208]。
  • 确保site --site_id= -> site --network_id=的向后兼容桥接只影响wp site create[#3227]。
  • 在验证核心校验和时捕获由RecursiveDirectoryIterator引发的异常[#3266]。
  • 在meta命令中传递斜杠数据[#3274]。
  • 确保composer.json中使用了适当的WP-CLI软件包索引URL[#3276]。
  • WP_CLIUtilsget_temp_dir()中使用全局命名空间来更正WP_CLI的引用[#3369]。
  • 为此版本作出贡献的贡献者(拉取请求、文档和软件包作者):2ndkauboy、aaemnnosttv、alessandrotesoro、anhskohbo、balbuf、BeAPI、binarygary、bradp、brightoak、danielbachhuber、danilomaccioni、diggy、getshifter、eriktorsner、ernilambar、fisele、grappler、guillaumemolter、iandunn、johnbillion、jorgeatorres、kouratoras、markri、mattgrshaw、miya0001、mustafauysal、nyordanov、ocean90、petenelson、polevaultweb、pressbooks、rahulsprajapati、runcommand、rxnlabs、shulard、swissspidy、szepeviktor、taianunes、tnorthcutt、trendwerk、trepmal、veganista、welaika
  • 您可以在GitHub上查看已解决问题的完整列表。

文章目录



发表评论

发表回复

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