Page 1 of 1

Removing email addresses without going through PayPal

PostPosted: May 26th, 2010, 6:14 am
by aliput
I've set up an account with s2Member and all is working fine. My problem is that I want all my members to be free. So rather than signing up through paypal I have directed them straight to the username signup page.
However, this means that if a member unsubscribes (i've linked it to MailChimp), although they are no longer sent email, if they decide to sign back up they can't - because their email address is still registered by the system.

Is there a way to remove email addresses from the s2member's database without going through PayPal?

Thanks

Re: Removing email addresses without going through PayPal

PostPosted: June 24th, 2010, 12:06 am
by Jason Caldwell
Hi there. Thanks for the great question, and I apologize for the extremely delayed response.

You can do this with s2Member's Auto-EOT system. s2Member can be configured to delete accounts whenever an Auto-EOT occurs. This is configurable through: s2Member -> PayPal Options -> EOT Behavior. This can work independently from PayPal if you like, but you will need to setup an EOT Time for each Member.

You can set an Auto-EOT Time, by finding a User in the list of Users, under: WP Dashboard -> Users. Click edit, and there you can set an Auto-EOT Time for that specific Member. If you would like to handle this dynamically, during the Free Registration Process, I recommend the application of WordPress Hooks/Filters. s2Member comes with over 200 Hooks/Filters built into it's framework. You can find a freelancer over at Elance.com to handle this part for you. It's about a $75 project.

Or, if you can follow these instructions, this will do the job for you.
Look inside your WordPress theme directory, and find the functions.php.
Inside that file, place the following code.
Code: Select all
<?php
$a = "ws_plugin__s2member_during_configure_user_registration_front_side";
add_action($a, "my_function");
function my_function($vars)
    {
        update_usermeta($vars["user_id"],
        "s2member_auto_eot_time",
        strtotime("+30 days"));
    }
?>

You can change 30 days if you want to give them more time than that.