get_meta_data() as $meta ) { if ( self::is_role_meta_key( $meta->key ) ) { if ( $meta->id ) { $customer->delete_meta_data_by_mid( $meta->id ); } else { $customer->delete_meta_data( $meta->key ); } } } } /** * Identify role and level metadata for any blog prefix. * * @param mixed $key Meta key. * @return bool Whether the key stores roles or a user level. */ public static function is_role_meta_key( $key ): bool { if ( ! \is_string( $key ) ) { return false; } global $wpdb; return 1 === preg_match( '/^' . preg_quote( $wpdb->base_prefix, '/' ) . '(\d+_)?(capabilities|user_level)$/i', trim( $key ) ); } }