get_col( $wpdb->prepare( "SELECT option_name FROM {$wpdb->options} WHERE option_name LIKE %s", $wuadblockguard_pattern ) ); // Check WordPress version $wp_version = get_bloginfo('version'); if (version_compare($wp_version, '6.0', '>=')) { // Use wp_cache_delete_multiple if WP version >= 6.0 if (!empty($wuadblockguard_options_to_delete)) { wp_cache_delete_multiple($wuadblockguard_options_to_delete, 'options'); wp_cache_delete_multiple($wuadblockguard_options_to_delete, 'transient'); } } else { // Fallback for older versions if (!empty($wuadblockguard_options_to_delete)) { foreach ($wuadblockguard_options_to_delete as $wuadblockguard_option) { wp_cache_delete($wuadblockguard_option, 'options'); wp_cache_delete($wuadblockguard_option, 'transient'); } } } // Explicitly delete known Redis keys $wuadblockguard_redis_keys = [ 'wuadblockguard_version', 'wuadblockguard_license_last_check', 'wuadblockguard_product_details', 'wuadblockguard_latest_version', 'wuadblockguard_notices', 'wuadblockguard_version' ]; foreach ($wuadblockguard_redis_keys as $wuadblockguard_key) { wp_cache_delete($wuadblockguard_key, 'options'); delete_transient($wuadblockguard_key); // Ensure transients are deleted } // Delete from the database if (!empty($wuadblockguard_options_to_delete)) { // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery,WordPress.DB.DirectDatabaseQuery.NoCaching -- Cleanup query during uninstall. $wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->options} WHERE option_name LIKE %s", $wuadblockguard_pattern ) ); } } catch (Exception $e) { // Ignore cleanup exceptions during uninstall. }