EOT stripping to blank page on Save All Changes - Plugin Conflicts

Hey all,

So I’m suffering now after many years ago installing S2 Reminders from a random WP plugin developer – this was before it was part of S2MemberPro - out the box. It’s long ago since been deleted but ------

After migration from one host to another, I’m finding the EOT behaviour a nightmare. Every time I fill in the EOT reminder email form “Customize For Day” — on SAVE it strips it all to blank again :frowning:

Understanding that I am in NO way code savvy – can anyone assist in telling me where to look in the plugins code, etc for something that’s messing with this?

I turned off ALL plugins except S2Member Framework.

Tried to set the EOT email details – stripped it blank again :frowning:

Turned all the plugins back on.

Same result.

HELP.

My sincere thanks.

Have you checked the developer console on the page where this is happening? Press [F12] while the page is displayed, try both before and after pressing Save All Changes, and then click the Console tab. Are there any error messages displayed?

Hey Pat – thanks so much. I followed your instructions and can report that there were errors shown on the console.

Prior to clicking SAVE ALL on my changes to the EOT Email Reminder fields under the “Customize Email For Day” header, the following showed in the console:

JQMIGRATE: Migrate is installed, version 1.4.1jquery-migrate.min.js:2:542
SyntaxError: JSON.__parse
JSON.__parse()
jquery.json-ps.min.js:1
a.JSON.parse()
jquery.json-ps.min.js:2
<anonymous>
admin.php:3
n.Callbacks/i()
jquery.js:2
n.Callbacks/j.fireWith()
jquery.js:2
.ready()
jquery.js:2
K()
jquery.js:2
jquery.json-ps.min.js:1:2732

Upon SAVE ALL CHANGES being clicked, the refresh displays the same error as above.

I also saw this at some point:

11:03:31.284 TypeError: e is undefined
wp-auth-check.min.js:1
n.event.dispatch()jquery.js:3
n.event.add/r.handle()jquery.js:3
n.event.trigger()jquery.js:3
a.event.trigger()jquery-migrate.min.js:2
.trigger/<()jquery.js:3
.each()jquery.js:2
n.prototype.each()jquery.js:2
.trigger()jquery.js:3
j/z.xhr<()heartbeat.min.js:1
n.Callbacks/i()jquery.js:2
n.Callbacks/j.fireWith()jquery.js:2
y()jquery.js:4
.send/c()jquery.js:4
onStopRequest()WebRequest.jsm:217
1wp-auth-check.min.js:1:1538

Thank you so much!!

This is a script used by WP Engine which is known to cause broken dependencies. I’m afraid you need to consult with WP Engine about fixing this.

1 Like

Thanks. But what is WP ENGINE and how are they involved with my site?

Are you suggesting that even a fresh install of s2 wouldn’t repair this as it’s a Wordpress problem?

Surely this is common with those who have used that darn outdated email reminder plugin?!

So frustrating!

Why are you so sure that this problem is caused by a plugin you have now uninstalled? I am not saying that you’re wrong – I never used that plugin – but I am curious why you are so sure.

What your log shows is that something is going on with the heartbeat javascript on your site. WP Engine has a script that does this (hence @JediShark’s comment) but so do some plugins (and even some themes).

Can you try deactivating all other plugins apart from s2Member, and see if you can fill the boxes then?

Can you also give us the URL of your site? I know that this is happening on the admin pages, but the heartbeat javascript is also used on the front-end, and it might be possible for us to see what is attempting to regulate calls to it.

Thanks, Tim.

The site is sitting on HOSTGATOR servers, not WP hosted. Does that make a difference to this?

I read this article and a few forum posts suggesting WP CRON or plugins could be the culprit: https://s2member.com/kb-article/automatic-eot-system-option-goes-blank-why/

I found this post of a similar issue (?) from 2015:

I’ve switched all plugins off and tested. Same result unfortunately.

I did have the S2 Reminders Plugin installed many years back but have long since removed it. Could it be the WP CRON? Is there a way to run S2Member successfully using a server side cron job? Is that a smarter way to go?

Site is at Members Site

Your support is greatly appreciated.

OK, let’s tackle these points systematically.

  1. The Github thread is not about a similar issue. That was a discussion about whether s2Member should include reminder emails and, if so, how they should work. (I remember it well!)

  2. WordPress’s cronjobs are a mess, and you can certainly disable them in favor of a regular cron, but (a) they are server-side and (b) I don’t see how they could cause issues like this. You could use a plugin like WP Crontrol to see when it’s running and what it’s triggering though.

  3. WP’s cronjobs can be called using the heartbeat javascript (including from the front-end). That javascript could potentially cause issues like this, but only if there’s something else wrong on your site. You can’t really turn the heartbeat off anyway.

  4. I couldn’t see anything that was calling the heartbeat from the front-end. But I did see something else of interest. You are apparently using Visual Composer. That doesn’t usually work with s2Member because it stores everything in its own database tables where s2Member can’t find them. So I suspect that this is not the only issue on your site.

  5. If switching off all the other plugins did not help, then I’d suggest switching to the 2016 or 2017 theme and seeing if things work as they should then.

  6. I can’t think of any reason why the old s2 Reminders plugin should be causing this, but you could run the WP-Optimize plugin to make sure that a lot of stuff left behind by uninstalled plugins (but not database tables) is deleted.

Thanks so much, Tim.

1 OK

2 I’m only going on what Jason has said in the above support link:

when you see that field go blank, it’s because the WP Cron task that
s2Member created no longer exists. Or, because the WP Cron functionality
was disabled in some way by another plugin, by your hosting company, or
in some other way.

I guess my question then is, how do we ‘reset’ or ‘recreate’ the cron S2Member creates without having to reinstall everything to troubleshoot? Concerned any custom code will be nuked if we reinstall S2Member.

3 OK.

4 Yes, Visual Composer is being used by the WordPress theme on the MOP, but inside the members area is a custom page template not using VC, although the theme’s menu system is being used.

S2Member was working fine on the other server – we recently migrated and this is when the trouble began. I’ve not ever been warned by S2Member that Visual Composer creates issues. Is this a widely known fact?

5 Will try this.

6 OK have now completed this.

Curiously, all Member Options we sell are Buy Now (non-recurring) and it seems like all Welcome Email and Modification Emails are working and displaying correct EOT or EOT+Modification. These emails also include the %%EOT%% and these are correct for both initial Buy Now and any modification. Weird that only the EOT Reminder Emails simply do not hold when we SAVE ALL CHANGES.

Morgan, on (2), I think you misunderstand what Jason was saying. He’s not saying that the WP Cron is the cause; he’s saying that it sometimes it doesn’t function because of something done by another plugin, etc.

In other words, that other plugin (or theme, or your host, etc.) is the real culprit. So we are looking for that culprit. Deactivating the WP cron and using a real cron might – I stress might – be a workaround, but if the cause of that problem remains, it’s likely to cause other problems too.

On (4), it depends what you mean by well-known. I think anyone who has fiddled with WP code knows that page builders are always going to have trouble working with other plugins because of the way they store data. Maybe some of the newer page builders are better – I hate the whole concept, so I am not going to test them to find out – but VC really only plays well with VC.

OK great, Tim. In attempt to solve, let me set up a cron job from the server side and target it from my S2Member EOT settings and see if that resolves at least this blank page issue.

Is there a guide somewhere as to what the command is for this cron and how to target that cron via S2Member?

Thanks in advance.

You are over-complicating things.

You just need to do two things:

  • Disable the WP cron by adding this to wp-config.php:
define('DISABLE_WP_CRON', 'true');
  • Set up a cronjob in cPanel that looks something like this:
wget -q -O - https://xpole.tv/wp-cron.php?doing_wp_cron >/dev/null 2>&1

(I’m not sure if you need to include the sub-domain or not in the URL, but you can experiment and see.)

Crons aren’t “targeted”. They just fire whatever code is designed to be fired. That’s why the cron isn’t the cause here, just a symptom.

Thanks.

I’ve done all of the above and unfortunately, the fields are still stripping to blank.

I wonder why all the other EOT conditions and functions work fine, but the reminder emails don’t?

Well, now I think you need to talk to HostGator. Unfortunately, I think that’s probably where the problem lies. It’s now owned by EIG, so is a host I’d steer clear of. See http://researchasahobby.com/full-list-eig-hosting-companies-brands/

Woah, thanks Tim. I had no idea - just spent weeks migrating to a new host and now looks like we gotta move again?!

Is there a reliable host for Wordpress based sites running s2member who migrate clients across?

EIG alliance aside, would you think there’s something hostgator could do to resolve my s2member issues?

Thanks.

I am sure there is, which is why I suggest asking them. My problem is that their support seems over-worked and under-qualified, so you might not get much help.

I always recommend my own host, LightningBase. See https://secure.lightningbase.com/aff.php?aff=210 (that’s an affiliate link). A reasonable price, absolutely the best support around and outstanding performance too: see http://reviewsignal.com/blog/2016/09/14/wordpress-hosting-performance-benchmarks-2016/

Everyone who’s switched after my recommendation has been delighted.

EDIT: I should add that they’ll do the migration for you without any extra cost to you. It doesn’t usually take more than a couple of days.

Great. I wonder if switching to them will solve my EOT issue? Seems an insane fix, but … worth a try and means I’m not supporting EIG.

OK I’ve signed up using that affiliate link and they’re migrating me across shortly.

I’ll let you know.

If you are looking for relatively inexpensive hosting, I suggest SiteGround. I host all of my sites there and most of my clients have followed my recommendation to move there and been very happy. Their servers are fast even on shared hosting and their support is world-class. Their migration service is excellent and moving one domain is free when you sign up for an account.

@KTS915 Tim could I ask a favor of you - pls remove the quoted reference of our site’s URL in your post Mar 13? Ideally we could also remove what I believed was a masked link, which I added Mar 13 “Site is at Members Site” as well? Many thanks!