If WishList Member is, or was, on this site, its data is still in your database. The Import / Export tab migrates all of it, read only, without touching the old plugin's tables.
The three steps:
- Levels. One level here per WishList level, matched by WishList's internal id, so re-running the import never duplicates anything. Levels keep their original numeric ids, which means checkouts, licence servers and sync tools wired to those ids need no changes.
- Content protection. Your page, post, custom post type and category rules are copied onto the new levels. Only content the old plugin actually flagged as protected is locked.
- Members. Every member joins their levels in batches with a progress bar. Ten thousand members and more is fine, just leave the tab open for a few minutes.
What else comes across:
- Join dates, cancelled and pending flags, and transaction references
- Protected folders, matched to the real folders on disk and guarded automatically
- Per level login, registration and logout redirects, and the global redirects
- The API key, so your licence server and portal keep their current settings
The verification step:
Run Verification and you get the old counts next to the new counts, level by level, before you switch anything off. Do not skip it. It is the difference between knowing the migration worked and hoping it did.
Why nobody notices the switch:
WishList members are already WordPress users, so every password keeps working and nobody has to log in again. Original join dates carry over, which keeps drip schedules correct rather than dropping long standing members back to week one.
Your checklist after importing:
- Spot check a member on the Members tab.
- Open a protected page in a private window.
- Protect any download folders WishList was guarding, on the Files and Folders tab.
- Turn on compatibility mode in Settings.
- Deactivate WishList Member, and keep it installed but inactive until you have verified everything.
Only after all of that should you think about retiring the old tables.