OSDN Git Service

Support for using a user's email address in the `--user` flag.
authorDaniel Bachhuber <d@danielbachhuber.com>
Thu, 26 Dec 2013 20:32:28 +0000 (12:32 -0800)
committerDaniel Bachhuber <d@danielbachhuber.com>
Thu, 26 Dec 2013 20:32:28 +0000 (12:32 -0800)
features/flags.feature
php/WP_CLI/Runner.php

index 9d1dcc9..86baa34 100644 (file)
@@ -58,6 +58,12 @@ Feature: Global flags
       admin
       """
 
+    When I run `wp --user=admin@example.com eval 'echo wp_get_current_user()->user_login;'`
+    Then STDOUT should be:
+      """
+      admin
+      """
+
     When I try `wp --user=non-existing-user eval 'echo wp_get_current_user()->user_login;'`
     Then the return code should be 1
     And STDERR should be:
index 65c376a..7c9151b 100644 (file)
@@ -96,6 +96,9 @@ class Runner {
 
                if ( is_numeric( $user ) ) {
                        $user_id = (int) $user;
+               } else if ( is_email( $user ) ) {
+                       $user_obj = get_user_by( 'email', $user );
+                       $user_id = ( $user_obj ) ? $user_obj->ID : 0;
                } else {
                        $user_id = (int) username_exists( $user );
                }