5 ) ); } delete_option( 'dealroot_telegram_bot' ); wp_clear_scheduled_hook( 'dealroot_geo_update' ); wp_clear_scheduled_hook( 'dealroot_geo_maxmind_update' ); wp_clear_scheduled_hook( 'dealroot_postcodes_update' ); if ( empty( $dealroot_settings['delete_on_uninstall'] ) ) { return; } global $wpdb; $wpdb->query( "DROP TABLE IF EXISTS {$wpdb->prefix}dealroot_leads, {$wpdb->prefix}dealroot_events, {$wpdb->prefix}dealroot_visits, {$wpdb->prefix}dealroot_forms, {$wpdb->prefix}dealroot_live, {$wpdb->prefix}dealroot_messages" ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.DirectDatabaseQuery.SchemaChange delete_option( 'dealroot_settings' ); delete_option( 'dealroot_db_version' ); delete_option( 'dealroot_forms' ); delete_option( 'dealroot_form_scan' ); delete_option( 'dealroot_form_scan_pages' ); delete_metadata( 'user', 0, 'dealroot_per_page', '', true ); delete_metadata( 'user', 0, 'dealroot_report', '', true ); delete_option( 'dealroot_onboarding_dismissed' ); delete_option( 'dealroot_forms_found' ); delete_option( 'dealroot_setup' ); delete_metadata( 'user', 0, 'dealroot_hide_first_steps', '', true ); delete_metadata( 'user', 0, 'dealroot_ask_history', '', true ); delete_metadata( 'user', 0, 'dealroot_ask_last', '', true ); // Rate limits and cached figures; they would expire on their own. $wpdb->query( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching $wpdb->prepare( "DELETE FROM {$wpdb->options} WHERE option_name LIKE %s OR option_name LIKE %s", $wpdb->esc_like( '_transient_dealroot_' ) . '%', $wpdb->esc_like( '_transient_timeout_dealroot_' ) . '%' ) ); wp_clear_scheduled_hook( 'dealroot_daily_cleanup' ); wp_clear_scheduled_hook( 'dealroot_weekly_digest' );