发布日快乐!
今天,我很高兴为您带来 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-all
和wp transient delete-expired
为wp 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 上查看已解决问题的完整列表。
发表回复