prefix . 'lvmon8s_visitors' ); $lvmon8s_blocked_table = esc_sql( $wpdb->prefix . 'lvmon8s_blocked' ); // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared -- Table names are escaped and safe, DROP TABLE doesn't support placeholders. $wpdb->query( "DROP TABLE IF EXISTS $lvmon8s_visitors_table" ); // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared -- Table names are escaped and safe, DROP TABLE doesn't support placeholders. $wpdb->query( "DROP TABLE IF EXISTS $lvmon8s_blocked_table" ); // Delete options. delete_option( 'lvmon8s_db_version' ); delete_option( 'lvmon8s_settings' ); // Clear transients (geolocation cache). $wpdb->query( "DELETE FROM {$wpdb->options} WHERE option_name LIKE '_transient_lvmon8s_geoip_%' OR option_name LIKE '_transient_timeout_lvmon8s_geoip_%'" );