No problem, here’s the snippet I added in my functions.php file:
// Increase per process SQL records scanned for EOT Reminder Emails
add_filter ('ws_plugin__s2member_pro_eot_reminders_per_process', 'aamet_set_eot_per_process');
$per_process = 75;
If you would like to see what your current per process # is set to, you can make a temporary edit to the reminders.inc.php file in s2member-pro > src > includes > classes > reminders.inc.php at line 85. Add this :
echo "Per Process: " . $per_process ;
Then visit the following URL: yoursite.com/?s2member_auto_eot_system_via_cron=1
(Don’t forget to remove the edits when you are done. )
I had to clear the cache to get this to go.
You probably want to install the WP Mail Log plugin if you haven’t already.
(I also set up a manual cron job to hit that url every 30 minutes so things keep processing when no one is on the site and set s2member in PayPal options EOT Behavior to 'Yes I’ll run it with my own cron job. Here’s the cron:
curl -s mysiteurl.com/?s2member_auto_eot_system_via_cron=1 >/dev/null 2>&1)
… and if you want to double verify that your users are being scanned you can go into phpmyadmin in your cPanel and go to the usermeta table for your database, then run a search by clicking ‘Search’ and in the meta_key area change the operator to
like % % , and type the value
s2member_last_reminder_scan, click go.
You will see a list of all your users that have been scanned at least once with their user id. The metavalue is a unix time stamp which contains the last scan date. Use something like this http://www.convert-unix-time.com/, to quickly convert the date to be readable.
If you click the meta_value heading, it will sort the column so you can then look at the list in reverse order to see which users have the oldest last scan time.
Before making these changes some of my users had a last scan time from over a year ago, and never received an EOT notification. After the changes, every member gets scanned at least once every 24 hours.
Hope that helps.