Paid Memberships Pro is typically setup to redirect your checkout page to an HTTPS version of the URL. Any non-checkout page is redirected to an HTTP version of the URL.
This article outlines some common issues related to HTTPS/SSL and how to resolve them.
Potential SSL Conflicts
If you have the
FORCE_SSL_ADMIN constants set in WordPress, PMPro will respect those settings and not redirect your login page to HTTP.
If you have other plugins, themes, or bits of code that redirect other front end pages to or from HTTPS URLs it may conflict with how PMPro is trying to do this. Also some server setups do not convey the fact that a page load is over SSL in the ways that WP/PMPro is expecting. Your site may get caught in an infinite redirect or show a white screen.
If things are still not working, you need to figure out which plugins are causing the conflict and resolve the conflicts by getting the plugins to agree on which URL to serve.
Diagnose and Identify the HTTPS/SSL Conflict
- Disable all plugins and themes, then activate them one by one and/or in pairs to see which ones are conflicting.
- The Debug-WP-Redirect plugin can sometimes help you find the issue.
How to Resolve an HTTPS/SSL Conflict
Once you’ve found out which pages/plugins/etc are having problems. You can use custom fields and code to override PMPro’s default behavior.
- You can set the “besecure” custom field to “1” on a post or page. If PMPro sees this, it will make sure that page is loaded over HTTPS. If not (and the page isn’t a checkout, billing update or login page on a FORCE_SSL setup) PMPro will make sure the page is loaded over HTTP.
- Other plugins have similar custom fields or checkboxes on the edit post page that need to be set to tell that plugin if the page should be served over SSL or not. Be sure that PMPro and all other plugins are on the same page.
- You can also use the “pmpro_besecure” hook/filter to control if PMPro should serve a page of HTTPS. For example, this gist below will force PMPro to serve all pages over HTTPS.
Or you can use this plugin to completely disable the HTTP/HTTPS redirect. Copy this file into your plugins folder as
pmpro-disable-https-redirect.php and activate the plugin.
Potential Plugins That Cause Conflicts
Here is a list of plugins and themes to be particularly careful with when using PMPro. These are not “bad” plugins any more than PMPro is a bad plugin, they just conflict with PMPro in certain situations when trying to redirect to and from HTTPS URLs.
- WordPress HTTPS
- WooCommerce or another plugin with ecommerce functionality
- LMS or courseware plugins
- Other membership plugins
Get Support for HTTPS/SSL Conflicts
If you are having trouble resolving an HTTPS/SSL conflict, we can help. If you sign up for our PMPro Membership plan and send us a WordPress admin user/pass and FTP user/pass, we will log into your site and resolve the issue for you.