Page 1 of 2

Theme my login plugin

PostPosted: June 20th, 2010, 4:39 pm
by DRakken
I've been using theme my login (love it) so I have a login widget in the sidebar
but your plugin and it clash bigtime, out of the 2 I'm not sure which to pitch
any possibility for a fix???? :cry: :cry:

Re: Theme my login plugin

PostPosted: June 22nd, 2010, 2:25 pm
by Jason Caldwell
Yea, unfortunately... I doubt it. This plugin is pretty much a direct conflict with s2Member. I could probably go through and add compatiblity, and/or work-arounds for this plugin; but chances are, future versions of s2Member are going to create new problems between the two.

I recommend this plugin, it IS compatible, and does many of the same things, without encroaching on s2Member. http://wordpress.org/extend/plugins/sidebar-login/

Re: Theme my login plugin

PostPosted: July 19th, 2010, 9:20 pm
by jambon
Jason Caldwell wrote:Yea, unfortunately... I doubt it. This plugin is pretty much a direct conflict with s2Member. I could probably go through and add compatiblity, and/or work-arounds for this plugin; but chances are, future versions of s2Member are going to create new problems between the two.

I recommend this plugin, it IS compatible, and does many of the same things, without encroaching on s2Member. http://wordpress.org/extend/plugins/sidebar-login/


Or perhaps you could just incorporate this same ability in your plugin as right now I personally feel your custom login page / fields options suck. No offense.

I mean I love the power of this plugin for sure - you've done a lot of great things with it, if you could add in the ability to easily have registration/login pages appear on pre-styles pages that would be the ultimate.

Re: Theme my login plugin

PostPosted: July 22nd, 2010, 6:59 pm
by Jason Caldwell
No offense taken.
Thanks for the great suggestions.
~ I'll see what we can do.

Here are some of the current options available to you with s2Member:

1. Inside your WP Dashboard, you can customize the Login/Registration design:
see: s2Member -> General Options -> Login/Registration Design

2. You can build a login form directly into your theme, or get the s2Clean theme; which is pre-integrated with s2Member. http://www.primothemes.com/post/s2clean ... wordpress/

3. You can use a plugin like this one:
http://wordpress.org/extend/plugins/sidebar-login/

In a future version of s2Member; we have plans to include a widget that is pre-integrated with s2Member. Please stay tuned for more. When this is added, it will be notated in the Changelog.

Re: Theme my login plugin

PostPosted: October 6th, 2010, 12:03 pm
by tribsel
theme my login + theme my profile are awesome plugins, I personally think its worthwile to look at integrating them. Sidebar login widget.... I dont know. I do not wish to have login forms in sidebar, its just a distraction and a waste of space. Users who want to login have no problem in locating small login link at the top.
Login link at the top of the page which leads to login form is a great way to go.

Re: Theme my login plugin

PostPosted: October 6th, 2010, 3:33 pm
by wringle
I need some help with my wordpress plugins on my blog. Right now, wordpress emails an auto generated password. I have theme my login and register plus on my blog. How can I change one of them so that users make their own passwords.

Also I want to make an easy access text box for users to post their own topics much like a forum. Is there a plugin for that?

Re: Theme my login plugin

PostPosted: May 10th, 2011, 2:19 pm
by toddz88
Please consider this another "vote" for better handling of wp-login.php / Pro Login Widget / failed login and forgot password.

The s2member pro Login Pro Widget is a GREAT user experience -- for a successful login. But unfortunately, a user can also get Failed Login, or do a Forgot Password, both of which DESTROY the otherwise seamless experience offered by s2member pro and the Pro Login Widget.

And the fields/options currently available on s2m > General Options > Login/Registration Design are better than nothing, but really not nearly robust enough to maintain the user experience.

The reason that the Pro Login Widget is so good -- so the user can login on a page clearly "in" the website, and fully integrated with the site's theme/design -- is the exact reason why the failed-login and forgot-password routines must also be integrated with a site's theme.

Re: Theme my login plugin

PostPosted: May 10th, 2011, 6:24 pm
by Jason Caldwell
@TODO: Thanks for the vote.
Agree. I'm adding this to the TODO list for a future release.

Re: Theme my login plugin

PostPosted: May 11th, 2011, 7:21 pm
by johnleblanc
I'm successfully using "Theme My Login" with s2member. What is the specific conflict?

Re: Theme my login plugin

PostPosted: May 11th, 2011, 7:42 pm
by toddz88
Hmm. I am using s2member PRO, and it seems to override anything that Theme My Login is trying to do. Are you using s2m PRO? If you are, and you somehow have TML working too, i'd love to dig deeper and find out exactly how you have them both configured.

Also, Jason (lead dev on s2m) confirms the conflict:
viewtopic.php?f=36&t=6309#p14122

Re: Theme my login plugin

PostPosted: May 11th, 2011, 7:53 pm
by johnleblanc
Yes, I'm indeed using PRO and I'm happy to compare notes. I needed to NOT use the s2member_force_ssl = yes custom field on my login page and instead use a wp_redirect() hooked into 'init' to force SSL (I initially attempted SSL enforcement within .htaccess, but had a tough time).

My login page looks like this:
Code: Select all
[s2If !is_user_logged_in()]
[theme-my-login]
[/s2If]


What's not working for you?

Re: Theme my login plugin

PostPosted: May 11th, 2011, 8:03 pm
by BobTabor
johnleblanc wrote: ... instead use a wp_redirect() hooked into 'init' to force SSL ...


John, thank you for this ... would you be so kind as to point me in the right direction on how to "hook into 'init'" in WordPress?

Thank you very much!
Bob

Re: Theme my login plugin

PostPosted: May 11th, 2011, 8:12 pm
by johnleblanc
Note: the permalink to my login page is "/login" so I'm using strpos() to test that. This would also match a permalink like "/login-at-the-beginning-of-another-page" so you might use a better conditional here with a preg_match() or similar. Be aware that the query string is often pertinent, like /login/?action=logout&_wpnonce=bh90210bs or /login/?action=lostpassword

Code: Select all
// redirect login to ssl
add_action('init', 'my_secure_login');
function my_secure_login() {
   if ( strpos($_SERVER['REQUEST_URI'], 'login') == 1 && $_SERVER['HTTPS'] != 'on' ) {
      $redirect = sprintf('%s%s', 'https://www.foo.com', $_SERVER['REQUEST_URI'] );
      wp_redirect( $redirect, 301 );
      exit;
   }
}


Again, I'm curious what behavior you're experiencing?

Re: Theme my login plugin

PostPosted: May 11th, 2011, 8:43 pm
by BobTabor
Thank you very much for the information. At the moment, I am not using Theme My Login, opting to implement a shortcode that puts the s2Member Pro Login Widget into the "loop".

So ... in my shortcodes.php ...

Code: Select all
function bob_login_shortcode() {

   $options = array("signup_url" => "%%automatic%%", "login_redirect" => "%%home%%", "my_account_url" => "/account/", "my_profile_url" => "", "logout_redirect" => "/");

   return do_shortcode(s2member_pro_login_widget($options));
}
add_shortcode('s2login', 'bob_login_shortcode');


... produces the screenshot below ...

HOWEVER ... I keep running into the "user experience" issue as described above (i.e., forgot password, etc.) ... and I realize I may just have to bite the bullet and find a better solution. My question to you was more of a "pre-emptive strike" to figure out how much effort would be involved in using Theme My Login.

Re: Theme my login plugin

PostPosted: May 11th, 2011, 9:02 pm
by johnleblanc
I'm not clear specifically what the s2m/TML conflict is, but it seems to work for me with the considerations mentioned above (Additionally, I redirect /login/?action=register to my pricing page within functions.php).

Bob - When I initially replied, I didn't realize I was replying to you and not toddz88

You might also look at the following to hand-roll your own login behavior:
http://codex.wordpress.org/Function_Ref ... login_form
http://codex.wordpress.org/Function_Ref ... _login_url

http://codex.wordpress.org/Plugin_API/Filter_Reference
(in particular: login_url, login_redirect, login_errors, login_message)

Re: Theme my login plugin

PostPosted: May 11th, 2011, 10:02 pm
by toddz88
Wait... I'm switching sides.. I agree with johnleblanc.. Theme My Login is now working perfectly with s2Member Pro on my site.

It was user error.. i had too many different things going on in the attempt to make it work.. various functions in files, shortcodes in pages, and settings in plugins. But when i backed out, started over, and did a more careful, methodical, meticulous implementation, i found it does in fact work.. very very nicely.

Thanks johnleblanc, for inspiring me to give it another shot!!

Re: Theme my login plugin

PostPosted: May 13th, 2011, 3:20 am
by Jason Caldwell
Thanks guys. I just spotted this conversation.
I've updated the conflict list here to reference this thread.
viewtopic.php?f=36&t=6309&p=14122#p14122

Re: Theme my login plugin

PostPosted: May 13th, 2011, 4:04 pm
by BobTabor
Ok, finally got into this. Yes, Theme My Login ** MOSTLY ** works. HOWEVER s2Member still attempts to emit a bunch of CSS into your /login/ page (or whatever page you set as the login page in Theme My Login).

I've copied that CSS into a code section at the bottom -- these are the defaults (i.e., I made no changes in the "s2Member General Options --> Login/Registration Design" section).

True, depending on your particular theme you may not notice any changes to the appearance of your Theme My Login's Login page, however in my case I had a dark background that really showed through.

SO ... the question I have for Jason or Cristián: can I shut this behavior off completely? In other words, can I prevent the following code from being emitted in my login (typically the wp-login.php -- before Theme My Login changes it)? That is the crux of the compatibility issue.

Thanks!

P.S. ... here's the code that gets emitted ... in the <head> section, right beneath <meta name="generator" content="WordPress 3.1.2" /> ...

Code: Select all
<style type="text/css">
html, body { border: 0 !important; background: none !important; }
html { background-color: #FFFFFF !important; }
html { background-image: url(http://members.learnvisualstudio.net/wp-content/plugins/s2member/images/bg.png) !important; }
html { background-repeat: repeat !important; }
body, body * { font-size: 12px !important; }
body, body * { font-family: 'Verdana', 'Arial', sans-serif !important; }
p#backtoblog a, p#backtoblog a:hover, p#backtoblog a:active, p#backtoblog a:focus { color: #000000 !important; text-shadow: 1px 1px 3px #EEEEEE !important; top: 15px !important; left: 15px !important; padding: 10px !important; border:1px solid #EEEEEE !important; background-color: #FFFFFF !important; -moz-border-radius:3px !important; -webkit-border-radius:3px !important; border-radius:3px !important; }
div#login { width: 500px !important; }
div#login h1 a { background: url(http://members.learnvisualstudio.net/wp-content/plugins/s2member/images/logo.png) no-repeat top center !important; }
div#login h1 a { display: block !important; width: 100% !important; height: 100px !important; }
div#login form { -moz-box-shadow: 1px 1px 5px #EEEEEE, -1px -1px 5px #EEEEEE !important; -webkit-box-shadow: 1px 1px 5px #EEEEEE, -1px -1px 5px #EEEEEE !important; box-shadow: 1px 1px 5px #EEEEEE, -1px -1px 5px #EEEEEE !important; }
div#login p#nav, div#login p#nav a, div#login p#nav a:hover, div#login p#nav a:active, div#login p#nav a:focus { color: #000000 !important; text-shadow: 1px 1px 3px #EEEEEE !important; }
div#login form p { margin: 2px 0 16px 0 !important; }
div#login form input[type="text"].input, div#login form input[type="password"].input, div#login form input[type="text"].ws-plugin--s2member-custom-reg-field, div#login form input[type="password"].ws-plugin--s2member-custom-reg-field, div#login form textarea.ws-plugin--s2member-custom-reg-field, div#login form select.ws-plugin--s2member-custom-reg-field { font-weight:normal !important; color:#333333 !important; background:none repeat scroll 0 0 #FBFBFB !important; border:1px solid #E5E5E5 !important; font-size:18px !important; margin: 0 2% 0 0 !important; padding:3px !important; width:98% !important; }
div#login form input[type="checkbox"].ws-plugin--s2member-custom-reg-field, div#login form input[type="radio"].ws-plugin--s2member-custom-reg-field { vertical-align:middle !important; }
div#login form select.ws-plugin--s2member-custom-reg-field > option { font-size:18px !important; }
div#login form label.ws-plugin--s2member-custom-reg-field-op-l { vertical-align:middle !important; font-size:90% !important; }
div#login form select.ws-plugin--s2member-custom-reg-field { width:100% !important; }
div#login form p.submit { margin-bottom: 0 !important; }
div#login form input[type="submit"], div#login form input[type="submit"]:hover, div#login form input[type="submit"]:active, div#login form input[type="submit"]:focus { color: #666666 !important; text-shadow: 2px 2px 5px #EEEEEE !important; border: 1px solid #999999 !important; background: #FBFBFB !important; padding: 5px !important; -moz-border-radius: 3px !important; -webkit-border-radius: 3px !important; border-radius: 3px !important; }
div#login form input[type="submit"]:hover, div#login form input[type="submit"]:active, div#login form input[type="submit"]:focus { color: #000000 !important; text-shadow: 2px 2px 5px #CCCCCC !important; border-color: #000000 !important; }
div#login form#lostpasswordform { padding-bottom: 16px !important; } div#login form#lostpasswordform p.submit { float: none !important; } div#login form#lostpasswordform input[type="submit"] { width: 100% !important; }
div#login form#registerform { padding-bottom: 16px !important; } div#login form#registerform p.submit { float: none !important; margin-top: -10px !important; } div#login form#registerform input[type="submit"] { width: 100% !important; }
div#login form#registerform p#reg_passmail { font-style: italic !important; }
</style>

Re: Theme my login plugin

PostPosted: May 13th, 2011, 4:20 pm
by BobTabor
In particular, it's stuff like this that's the problem:

body, body * {
font-size: 12px !important;
}

This erases the h2's font size defined in my theme. I tried to delete the setting in the "s2Member General Options --> Login/Registration Design" ... specifically, I attempted to set the "Overall Font Size" to blank, however, you require a value there, so it just gets automatically filled back in with 12px. :(

And yes, this is an extremely minor issue -- I've gotten much farther using this solution that I could have in this amount of time slinging code myself ... and I can work around this ... I would just put my vote in for not commandeering styles from the admin UI.

Re: Theme my login plugin

PostPosted: May 13th, 2011, 5:06 pm
by Jason Caldwell
Yes, you can do this if you like.

Option #1
Remove !important declarations.
Create this directory and file:
/wp-content/mu-plugins/s2-hacks.php
Code: Select all
<?php
add_filter
("ws_plugin__s2member_login_header_styles_important", "__return_false");
?>
* This simply prevents s2Member from attaching the !important declarations. It does NOT remove the CSS completely though. This just makes it easier for other plugins to override s2Member's design options that a site owner has configured.

Option #2
Don't use s2Member's CSS at all.
Create this directory and file:
/wp-content/mu-plugins/s2-hacks.php
Code: Select all
<?php
add_filter
("ws_plugin__s2member_login_header_styles", "__return_false");
?>
* This prevents the CSS from being used at all.

Re: Theme my login plugin

PostPosted: May 14th, 2011, 11:01 am
by BobTabor
Whoah ... that is powerful stuff. AWESOME. I'm ... just in love with this.

On a personal note ... I've built 5 payment + membership systems in .NET over the past 12 years using various technologies, approaches, etc. for our business, and was one of the first to integrate with Website Payments Pro. But maintaining self-built software took me away from making money creating the "product". I know how much effort goes into creating this, and it's more appreciated than you can imagine. If I'm ever in Georgia, I'm taking you to the best steakhouse to purchase you the most expensive steak dinner money can buy (in Atlanta?)

Re: Theme my login plugin

PostPosted: May 18th, 2011, 12:51 am
by Jason Caldwell
Oh, you're so welcome! :D
Thanks for the KUDOS too, very much appreciated!

Re: Theme my login plugin

PostPosted: May 30th, 2011, 7:09 pm
by codeshed
We are also using Theme my login with s2Member and the re-set password function does not work. Any assistance here would be greatly appreciated.

Re: Theme my login plugin

PostPosted: May 30th, 2011, 7:16 pm
by johnleblanc
I've run into that situation when ?s2ssl=true is set on the login/lostpassword page. It's because the form tries to POST to the page URL without the ?s2ssl=true suffix, so the redirect drops the POST.

Re: Theme my login plugin

PostPosted: May 30th, 2011, 7:17 pm
by johnleblanc
My workaround was to remove the s2member_force_ssl = yes custom post field and instead use .htaccess rules to force the login page to use SSL.