query( $wpdb->prepare( "DELETE FROM {$wpdb->usermeta} WHERE meta_key LIKE %s", 'adsd_new_%' ) ); // Clean up post meta (if any plugin-specific post data exists). $wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->postmeta} WHERE meta_key LIKE %s", 'adsd_new_%' ) ); // Clean up comment meta (if any plugin-specific comment data exists). $wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->commentmeta} WHERE meta_key LIKE %s", 'adsd_new_%' ) ); // Clean up options (additional cleanup for any missed options). $wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->options} WHERE option_name LIKE %s", 'adsd_new_%' ) ); // Clean up transients. $wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->options} WHERE option_name LIKE %s OR option_name LIKE %s", '_transient_adsd_new_%', '_transient_timeout_adsd_new_%' ) ); // For multisite installations, clean up network-wide options. if (is_multisite()) { delete_site_option('adsd_new_network_options'); // Clean up site-specific options for all sites. $sites = get_sites(['fields' => 'ids']); foreach ($sites as $site_id) { switch_to_blog($site_id); delete_option('adsd_new_options'); delete_option('adsd_new_logging_enabled'); restore_current_blog(); } } // Clear any cached data. if (function_exists('wp_cache_flush')) { wp_cache_flush(); }