Join GitHub today
Members not deleted when EOT reached #1130
EXPLANATION OF THE ISSUE
User buys a membership (in my case, through a Buy Now transaction, though I think others might be experiencing the same problem with recurrent memberships). The EOT is set to trigger a deletion of the account. When the EOT is reached, nothing happens to the member's account. This is so, even though there is activity on the site that should trigger WP's cron function.
First reported here: https://forums.wpsharks.com/t/auto-eot-not-working-consistently/3704
But I then checked my own sites, and found much the same problem, except it is not inconsistent for me. Memberships simply aren't being deleted.
STEPS TO REPRODUCE THE ISSUE
BEHAVIOR THAT I EXPECTED
Member's account should be deleted when the EOT is reached.
BEHAVIOR THAT I OBSERVED
Nothing happens when the EOT is reached.
This is very strange. On the two sites (one live, one dev) where I tested this, the cronjob ws_plugin__s2member_auto_eot_system__schedule is missing from the list displayed by the plugin WP Crontrol. That is also the experience of the other user on the thread referenced above.
However, I have just taken a look at another dev site of mine, which is identical apart from the content, and the cronjob ws_plugin__s2member_auto_eot_system__schedule is there and working!
I have tried deactivating and reactivating s2Member on the sites where the cronjob isn't showing, but it has made no difference.
@KTS915 Thanks for the report.
Can you try visiting this panel in your Dashboard, change the setting to the one shown, save, and then watch to see if this resolves the problem for you?
I've had a couple of private reports recently of this field reverting to nothing but an empty value following the update of other plugins that alter WP-Cron jobs in another part of your WordPress installation. Resetting this field seems to resolve it for some.
@jaswrks, you are right. Now that I check, that section has turned out to be blank on each site where the Cron isn't working. Resetting it makes the cronjob appear in the list of cron events shown by WP Crontrol, so that does seem to have fixed it. (I don't have another user due to be deleted until tonight.)
I will keep a look-out for this in future.
Another user has reported that the EOT cron function is not working even though it is showing up as having been set in s2Member and in WP Crontrol.
I have a similar problem:
OK, I check every week how many members I have in my membership site. I can see who leaves and is demoted to "subscriber" by clicking on the "subscriber" column under the "users." Last week I had 238 members. Then this week I look and there are 208. I did an audit of those members who supposedly left. They had all left within the last 3 months, but only until now were they demoted to 'subscriber".
That's my first issue. Why did it take to long for them to be demoted when they should have been demoted immediately or even at the end of their month?
Second issue: I then audited the rest of the members and found that there were over 30 members that had cancelled in the last year - so they didn't pay anymore- but were still at Level 1 or higher status. Why didn't they get demoted to "subscriber"? I thought that was am automatic feature of S2member. Am I correct in that?
Can anyone clarify this for me? Thank you.
I looked in the Automatic EOT behavior for both Stripe and Paypal, and they both show that EOT behavior is enabled.