query( $wpdb->prepare( 'DROP TABLE IF EXISTS %i', $wpdb->prefix . 'sitelang_translations' ) ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.SchemaChange -- Remove the plugin-owned mapping schema only during explicit uninstall; translations themselves remain as posts/products. $wpdb->query( $wpdb->prepare( 'DROP TABLE IF EXISTS %i', $wpdb->prefix . 'sitelang_migration_map' ) ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.SchemaChange -- Remove plugin-owned migration bookkeeping on explicit uninstall. $wpdb->query( "DELETE FROM {$wpdb->postmeta} WHERE meta_key IN ( '_sitelang_is_translation', '_sitelang_original_id', '_sitelang_language', '_sitelang_translation_status', '_sitelang_inherit_product_data', '_sitelang_ai_job_payload', '_sitelang_ai_job_state', '_sitelang_ai_job_progress', '_sitelang_ai_job_message', '_sitelang_ai_job_updated_at', '_sitelang_ai_job_action_id', '_sitelang_ai_translated_at', '_sitelang_ai_polished_at', '_sitelang_ai_polish_warning', '_sitelang_ai_model', '_sitelang_ai_reviews_translated_at', '_sitelang_ai_reviews_model' )" ); $wpdb->query( "DELETE FROM {$wpdb->commentmeta} WHERE meta_key IN ( '_sitelang_generated_review', '_sitelang_original_review_id', '_sitelang_review_language' )" ); $wpdb->query( "DELETE FROM {$wpdb->termmeta} WHERE meta_key IN ( '_sitelang_original_term_id', '_sitelang_language' )" );