CRITICAL FIX: Bypass cached instance_settings completely. Root Cause Found: - $method->instance_settings["enabled"] = "no" (stale/wrong) - $method->enabled = "yes" (correct, from somewhere else) - DB option actually has enabled="yes" - instance_settings is a CACHED copy that is stale Solution: ✅ Read: get_option($option_key) directly (bypass cache) ✅ Write: update_option($option_key) directly ✅ Don't use instance_settings at all Why instance_settings was wrong: - init_instance_settings() loads from cache - Cache is stale/not synced with DB - WooCommerce admin uses different code path - That code path reads fresh from DB Now we: 1. Read current value from DB: get_option() 2. Modify the array 3. Save back to DB: update_option() 4. Clear caches 5. Done! Test: This should finally work!
11 KiB
11 KiB