get_col("SELECT blog_id FROM $wpdb->blogs"); $original_blog_id = get_current_blog_id(); foreach ($blog_ids as $blog_id) { switch_to_blog($blog_id); // Delete options for this site delete_option('bluteem_aba_settings'); delete_option('bluteem_aba_errors'); // Delete post meta for generated posts bluteem_aba_delete_post_meta(); } switch_to_blog($original_blog_id); } else { // Single site - delete post meta bluteem_aba_delete_post_meta(); } // Clear any scheduled cron events $timestamp = wp_next_scheduled('bluteem_aba_generate_post'); if ($timestamp) { wp_unschedule_event($timestamp, 'bluteem_aba_generate_post'); } } /** * Delete post meta from all AI-generated posts * * Note: This only removes meta tags that identify posts as AI-generated. * The actual posts remain in the database. */ function bluteem_aba_delete_post_meta() { global $wpdb; // Delete custom post meta // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery,WordPress.DB.DirectDatabaseQuery.NoCaching,WordPress.DB.SlowDBQuery.slow_db_query_meta_key $wpdb->delete( $wpdb->postmeta, // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_key array('meta_key' => '_bluteem_aba_generated'), array('%s') ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery,WordPress.DB.DirectDatabaseQuery.NoCaching,WordPress.DB.SlowDBQuery.slow_db_query_meta_key $wpdb->delete( $wpdb->postmeta, // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_key array('meta_key' => '_bluteem_aba_timestamp'), array('%s') ); } // Run the cleanup bluteem_aba_uninstall_cleanup(); // Log uninstallation (if debug mode is enabled) if (defined('WP_DEBUG') && WP_DEBUG) { // phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_error_log error_log('AI Blog Automator: Plugin uninstalled and all data cleaned up'); }