@socialman Thanks for the report! 🙂
Hmm, I was unable to reproduce this in a clean installation.
<?php echo $vars["i"]; ?> is derived from plugins_url() and/or content_url() in WordPress. Both of these functions will automatically detect HTTPs having been enabled and set the correct http:// or https:// scheme automatically.
Have you tried running the same test without any other plugins enabled? Or with a default WP theme? You might also want to review this WP core function to be sure that WordPress itself is able to identify when SSL is on. See: https://codex.ww.wp.xz.cn/Function_Reference/is_ssl
Jason,
Thanks again for a great plugin. Even just for replacing or styling the WordPress Registration & Login & Password Reset pages it’s ideal.
Better value than many other pro plugins e.g: http://www.cozmoslabs.com/wordpress-profile-builder
1) Although I was unable to disable all my other plugins or change the theme. I did try a complete uninstall and reinstall of S2member + Pro which did not help.
2) or any SSL kb articles:
http://s2member.com/kb-article/why-are-ssl-and-non-ssl-pages-logging-out-my-members
3) Even though WordPress (Version 4.4) settings are https:// your plugin was not receiving the correct protocol from WordPress’s core function.
4) Caused many mixed content issues (even with fixer plugins installed):
Loading mixed (insecure) display content
/wp-content/plugins/s2member-pro/images/error-icon.png” on a secure page
/wp-content/plugins/s2member-pro/images/error-icon.png” on a secure page
/wp-content/plugins/s2member-pro/images/secure-icon.png” on a secure page
/wp-content/plugins/s2member-pro/images/details-icon.png” on a secure page
/wp-content/plugins/s2member-pro/images/arrow-icon.png” on a secure page
/wp-content/plugins/s2member/images/ajax-loader.gif” on a secure page
5) Your recommended fix worked (likely a web host load balancer issue):
Add the following code to the wp-config.php file, above the require_once call:
if (isset($_SERVER[‘HTTP_X_FORWARDED_PROTO’]) && $_SERVER[‘HTTP_X_FORWARDED_PROTO’] == ‘https’)
$_SERVER[‘HTTPS’] = ‘on’;
Thank you,
socialman