From 30fa02622992cdf1554df8cb152f72ebcbfb27e4 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Sat, 20 Apr 2013 22:48:25 -0700 Subject: [PATCH] Implement `--fields` support for `wp user list` --- php/commands/user.php | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/php/commands/user.php b/php/commands/user.php index e96e3984..de3245f9 100644 --- a/php/commands/user.php +++ b/php/commands/user.php @@ -9,39 +9,44 @@ class User_Command extends \WP_CLI\CommandWithDBObject { protected $obj_type = 'user'; + public $fields = array( + 'ID', + 'user_login', + 'display_name', + 'user_email', + 'user_registered', + 'roles' + ); + /** * List users. * * @subcommand list - * @synopsis [--role=] [--format=] + * @synopsis [--role=] [--fields=] [--format=] */ public function _list( $args, $assoc_args ) { $defaults = array( 'blog_id' => get_current_blog_id(), - 'fields' => isset( $assoc_args['ids'] ) ? 'ids' : 'all_with_meta', + 'fields' => implode( ',', $this->fields ), 'format' => 'table', ); $params = array_merge( $defaults, $assoc_args ); + $fields = $params['fields']; + unset( $params['fields'] ); + if ( array_key_exists( 'role', $assoc_args ) ) { $params['role'] = $assoc_args['role']; } if ( 'ids' == $params['format'] ) $params['fields'] = 'ids'; + else + $params['fields'] = 'all_with_meta'; $users = get_users( $params ); - $fields = array( - 'ID', - 'user_login', - 'display_name', - 'user_email', - 'user_registered', - 'roles' - ); - if ( 'ids' != $params['format'] ) { foreach ( $users as $user ) { $user->roles = implode( ',', $user->roles ); -- 2.11.0