@@ -198,14 +198,6 @@ static function ( $v ) use ( $flipped_user_logins ) {
198198 WP_CLI ::error ( 'No valid user logins given to revoke super-admin privileges from. ' );
199199 }
200200
201- // Ensure we always have an ID for all logins.
202- foreach ( $ user_logins as $ user_login ) {
203- if ( ! array_key_exists ( $ user_login , $ user_ids ) ) {
204- $ user = get_user_by ( 'login ' , $ user_login );
205- $ user_ids [ $ user_login ] = $ user ->ID ;
206- }
207- }
208-
209201 $ update_super_admins = array_diff ( $ super_admins , $ user_logins );
210202 if ( $ update_super_admins === $ super_admins ) {
211203 WP_CLI ::error ( $ user_logins_count > 1 ? 'None of the given users is a super admin. ' : 'The given user is not a super admin. ' );
@@ -226,8 +218,22 @@ static function ( $v ) use ( $flipped_user_logins ) {
226218 WP_CLI ::success ( $ msg );
227219
228220 $ removed_logins = array_intersect ( $ user_logins , $ super_admins );
221+
229222 foreach ( $ removed_logins as $ user_login ) {
230- do_action ( 'revoked_super_admin ' , (int ) $ user_ids [ $ user_login ] ); // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound
223+ $ user_id = null ;
224+
225+ if ( array_key_exists ( $ user_login , $ user_ids ) ) {
226+ $ user_id = $ user_ids [ $ user_login ];
227+ } else {
228+ $ user = get_user_by ( 'login ' , $ user_login );
229+ if ( $ user instanceof WP_User ) {
230+ $ user_id = $ user ->ID ;
231+ }
232+ }
233+
234+ if ( null !== $ user_id ) {
235+ do_action ( 'revoked_super_admin ' , (int ) $ user_ids [ $ user_login ] ); // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound
236+ }
231237 }
232238 }
233239
0 commit comments