'ID', ]; if ( is_multisite() ) { $args['blog_id'] = 0; } $user_ids = get_users( $args ); if ( ! is_array( $user_ids ) ) { return []; } return array_map( 'intval', $user_ids ); } /** * Remove Executor data from the current site. * * @param int[] $user_ids WordPress user IDs. * @return void */ function wteam_executor_uninstall_cleanup_site( $user_ids ) { delete_option( 'wteam_executor_settings' ); foreach ( $user_ids as $user_id ) { delete_transient( 'wteam_executor_codex_models_' . (int) $user_id ); } } $wteam_executor_user_ids = wteam_executor_uninstall_get_user_ids(); if ( is_multisite() ) { $wteam_executor_site_ids = get_sites( [ 'fields' => 'ids', 'number' => 0, ] ); foreach ( $wteam_executor_site_ids as $wteam_executor_site_id ) { switch_to_blog( (int) $wteam_executor_site_id ); wteam_executor_uninstall_cleanup_site( $wteam_executor_user_ids ); restore_current_blog(); } delete_site_option( 'wteam_executor_settings' ); } else { wteam_executor_uninstall_cleanup_site( $wteam_executor_user_ids ); } // ChatGPT connection state is stored in user meta and shared network-wide. delete_metadata( 'user', 0, '_wteam_executor_chatgpt_auth', '', true ); delete_metadata( 'user', 0, '_wteam_executor_chatgpt_pending', '', true );