I'm working on my custom plugin and I need to verify the email addresses of users before they can use the platform.
I can do it using regular PHP but I'm having issues doing it with WordPress.
Can someone help with some codes?
I don't know if it's any worth, but perhaps you can use the multisite specific activation function, wpmu_activate_signup, as a reference point to get an idea how to handle verification in WordPress. Multisite uses the special
wp_signups table to store users waiting for activation. So you might need to create a custom database table, if you want to do something similar.
Another option could be that you assign new users to a custom role, e.g. user_pending, and store the activation key to the user meta. Then use
wp_mail() to send an email with a verification link to the user. And after verification assign the user to proper role. Some kind of cleanup function might be also needed to delete unverified user accounts.