@@ -359,13 +359,14 @@ public function reset( $args, $assoc_args ) {
359359 // phpcs:ignore WordPress.PHP.StrictComparisons.LooseComparison -- Object instances won't be same, strict check will fail here.
360360 if ( $ after [ $ role_key ] != $ before [ $ role_key ] ) {
361361 ++$ num_reset ;
362- $ restored_cap = array_diff_key ( $ after [ $ role_key ]->capabilities , $ before [ $ role_key ]->capabilities );
363- $ removed_cap = array_diff_key ( $ before [ $ role_key ]->capabilities , $ after [ $ role_key ]->capabilities );
364- $ restored_cap_count = count ( $ restored_cap );
365- $ removed_cap_count = count ( $ removed_cap );
366- $ restored_text = ( 1 === $ restored_cap_count ) ? '%d capability ' : '%d capabilities ' ;
367- $ removed_text = ( 1 === $ removed_cap_count ) ? '%d capability ' : '%d capabilities ' ;
368- $ message = "Restored {$ restored_text } to and removed {$ removed_text } from '%s' role. " ;
362+ $ before_capabilities = isset ( $ before [ $ role_key ] ) ? $ before [ $ role_key ]->capabilities : [];
363+ $ restored_cap = array_diff_key ( $ after [ $ role_key ]->capabilities , $ before_capabilities );
364+ $ removed_cap = array_diff_key ( $ before_capabilities , $ after [ $ role_key ]->capabilities );
365+ $ restored_cap_count = count ( $ restored_cap );
366+ $ removed_cap_count = count ( $ removed_cap );
367+ $ restored_text = ( 1 === $ restored_cap_count ) ? '%d capability ' : '%d capabilities ' ;
368+ $ removed_text = ( 1 === $ removed_cap_count ) ? '%d capability ' : '%d capabilities ' ;
369+ $ message = "Restored {$ restored_text } to and removed {$ removed_text } from '%s' role. " ;
369370 WP_CLI ::log ( sprintf ( $ message , $ restored_cap_count , $ removed_cap_count , $ role_key ) );
370371 } else {
371372 WP_CLI ::log ( "No changes necessary for ' {$ role_key }' role. " );
0 commit comments