'bp3d-model-viewer', 'posts_per_page' => -1, 'post_status' => 'any', 'fields' => 'ids', ]); foreach ($bp3d_posts as $post_id) { wp_delete_post($post_id, true); } // ── 2. Delete plugin options ───────────────────────────────────────── $bp3d_option_keys = [ '_bp3d_settings_', // Main settings (CSF) 'bp3d_setup_wizard_completed', // Setup wizard flag 'bp3d_onboarding_completed', // Guided setup run to the end 'bp3d_onboarding_exited', // Guided setup left before the last step 'bp3d_onboarding_progress', // Guided setup progress percentage 'bp3d_onboarding_redirect', // Guided setup one-time redirect flag 'bp3d_imported', // Import migration flag 'bp3d_mime_defaults_widened', // One-time upload whitelist widening flag 'bp3d_elementor_css_ver', // One-time Elementor CSS regeneration flag 'bp3d_dokan_settings', // Dokan marketplace module settings 'model_viewer_import_ver', // Import version tracker ]; foreach ($bp3d_option_keys as $bp3d_key) { delete_option($bp3d_key); } // ── 2b. Per-user guided setup notice dismissals ────────────────────── delete_metadata('user', 0, 'bp3d_dismissed_onboarding_notice', '', true); // ── 3. Clean up any CSF framework transients ───────────────────────── delete_transient('csf_remote_stylesheets');