这周已经相当疯狂,还只是星期三。
正如你们中的许多人所知,我在星期一晚上启动了一项 Kickstarter 众筹活动:更加 RESTful 的 WP-CLI 。令人难以置信的是,它在不到 12 小时内就完成了 100% 的筹款。点击链接查看有关我将在 2016 年初开展的更多详细信息。
但是,我有一个更加重要的说明,涉及支持的 WordPress 版本:
- WP-CLI v0.22.0(下一个版本) 将将最低支持的 WordPress 版本从 3.5 提高到 3.7(背景信息) 。
- WP-CLI 版本在 0.20.3 之前将与 WordPress 4.4 不兼容 (背景信息) 。
这个重要说明可能与您有关,请相应采取行动。
WP-CLI v0.21.0 解决了 109 个问题和拉取请求。以下是新内容。
使用 WP_CLI::get_runner()->load_wordpress();
加载 WordPress
现在,您可以通过将 @when before_wp_load
添加到您的命令文档来在 WordPress 加载之前运行 WP-CLI 命令一段时间了。现在,您可以使用相同的命令加载 WordPress 。
查看 wp eval
如何使用 WP_CLI::get_runner()->load_wordpress()
:
class Eval_Command extends WP_CLI_Command {
/**
* 执行任意的 PHP 代码。
*
* <php-code>
* : 要执行的代码,作为字符串。
*
* [--skip-wordpress]
* : 在不加载 WordPress 的情况下执行代码。
*
* @when before_wp_load
*
* ## 示例
*
* wp eval 'echo WP_CONTENT_DIR;'
*/
public function __invoke( $args, $assoc_args ) {
if ( null === Utilsget_flag_value( $assoc_args, 'skip-wordpress' ) ) {
WP_CLI::get_runner()->load_wordpress();
}
eval( $args[0] );
}
}
使用 wp eval --skip-wordpress
来执行 PHP
而不加载 WordPress 。或者,使用 wp eval-file --skip-wordpress
,例如,执行一个快速而不需要 WordPress 安装的脏脏脏脏脏脏。
类似地,当您使用 wp core verify-checksums
与--version=
时,WP-CLI 将检查以确保 core
文件未被修改,而无需加载 WordPress 。
创建这个新功能几乎就像更换行驶中的汽车引擎。
使用--debug
获得更多详细信息
当您提供--debug
标志时,您将获得更多关于 WP-CLI 执行您的命令的上下文信息。
之前:
$ wp option get home --debug
http://wordpress-test.dev
之后:
$ wp option get home --debug
Debug: 使用默认全局配置:/home/vagrant/.wp-cli/config.yml(0.026s)
Debug: 未找到项目配置 (0.027s)
Debug: 从配置中获取所需文件:/srv/www/wp-rest-cli/wp-rest-cli.php(0.059s)
Debug: 定义了 ABSPATH:/srv/www/wordpress-test.dev/(0.06s)
Debug: 开始加载 WordPress(0.063s)
Debug: wp-config.php 路径:/srv/www/wordpress-test.dev/wp-config.php(0.065s)
Debug: 设置 URL:wordpress-test.dev/(0.066s)
Debug: 已加载 WordPress(0.515s)
Debug: 正在运行命令:option get(0.516s)
http://wordpress-test.dev
通过在关键检查点包含 WP_CLI::debug( $debug_message );
,可以使您的命令更加有帮助。
v0.21.0 的其他变化
增强功能:
- 使用
wp core update-db --network
来升级整个网络中的数据库;还通过提供from
和to
数据库版本来改善此命令的详细程度。 - 添加
wp comment recount
命令以重新计算文章的评论数。 - 包括
wp taxonomy list
、wp taxonomy get
、wp post-type list
和wp post-type get
以获取关于已注册的分类和文章类型的详细信息。 - 使用
wp post update
或wp post delete
时,使用--defer-term-counting
在操作结束时重新计算术语计数,以提高性能。 - 在使用无效的 plugin slug 运行
wp scaffold plugin-tests
时返回更有用的错误消息。 - 在
wp theme list
中,通过设置status=parent
来表示父母主题。这更清晰地区分了真正不活动的主题与被用作父母主题的 「不活动」 主题。 - 尝试在 multisite 安装上使用
wp rewrite flush --hard
时显示错误消息,因为 WordPress 不为多站点安装生成.htaccess
文件。 - 允许
wp core download
使用--path
,即使检测到 WP 。这允许自定义 WP-CLI 命令在现有 WP 安装范围内从子目录下载 WP 。 - 为
wp export
添加--post_type__not_in
参数,现在可以生成一个不包括feedbacks
等内容的导出文件。 - 支持使用
wp export --post__in
的空格分隔的 ID 。这使得更容易传递wp post list --format=ids
返回的 ID 。 - 在使用
wp scaffold plugin
时包括一个.editorconfig
。 - 新生成的
install-wp-tests.sh
文件支持$WP_VERSION=trunk
或$WP_VERSION=nightly
,以便对 WordPress trunk 运行您的插件测试。 - 在
wp core multisite-convert
中,当wp-config.php
不可写时为用户提供更有用的错误消息。 - 当无效的子命令具有有效的父命令时,为用户提供更有帮助的错误消息。
- 在警告并要求确认后,支持在由 APC 缓存支持的 WordPress 实例上使用 WP-CLI 。
- 如果 WP-CLI 是较大的 Composer 项目的一部分,则 sniffs 出自定义供应商路径。
- 不再需要通用参数
wp post create
和wp comment create
,可以在不提供标题等信息的情况下使用这些命令。 - 接受没有右侧数据的关联参数。
- 在查找具有
wp cli update
的 PHP 二进制文件时,耗尽所有可能的选项。以前,WP-CLI 会尝试直接调用php
,但在 PHP 未公开为这样的系统上会失败。 - 根据 WordPress 版本,接受
wp_new_user_notification()
的弃用第二个参数。
您可以在 Github 上浏览已解决问题的完整列表。
此版本的贡献者:aaemnnosttv 、 borekb 、 danielbachhuber 、 gmcinnes 、 JRGould 、 johnbillion 、 kraftbj 、 miya0001 、 ntwb 、 rodrigoprimo 、 rmccue szepeviktor 、 torounit 、 voldemortensen 、 ypid
发表回复