The members area page, which can be inserted using the following shortcode:
includes a link to reset a forgotten password.
However, the initial login/registration page, which is displayed when the user attempts to access a blocked page/post, does not include the link to reset a forgotten password.
The link to reset a forgotten password should also be included there.
Is it possible to add this?
Everything is working almost perfectly now. On WP-Members Options, I have specified the User Profile Page (so that the ‘Forgot Password’ link appears under the Login form), and the Register Page (so that the the ‘Register’ link appears under the login form).
This caused some redundancy: When the user attempts to access protected content, and the Login Form and Registration Form are displayed, it is redundant to display the ‘Register’ link under the Login form, and then the entire Register Form underneath that!
So, in an attempt to make WP-Members not display the Register Form underneath the Login Form before the user accesses protected content, I went back to WP-Members Options, and checked the box where it says ‘Turn off registration’.
This works almost pefectly.
– The Login Form is nice and compact.
– It also includes ‘Forgot Password’ and ‘Register’ links.
– It displays when the user attempts to access protected content.
– It also redirects correctly after login, to the protected content.
There is just one tiny problem:
– It does not redirect correctly after registration.
So we have the following workflow (with the Registration Page specified, and with ‘Turn off registration’ selected‘):
(1) A new (non-registered) user attempts to access protected content;
(2) The new user clicks the ‘Register’ link (under the Login form);
(3) The user registers on the Register page…
(4) They get redirected to the home page – not to the protected content they were trying to access!
I realize this may seem like a minor issue. And I also think WP-Members is a great membership plugin (this week I evaluated 7 other WordPress membership plugins – and none of them were satisfactory). So WP-Members is the WordPress plugin which comes closest to meeting my needs.
However, if the workflow for new users is even slightly counter-intuitive, the site is going to get much fewer registrations.
The way it stands now, the only way to redirect new users to the protected content would be to uncheck ‘Turn off registrations’ – which leads to the problem of redundantly displaying the Registration Form under the Login Form (which already has a ‘Register’ link, if the Register Page was specified in WP-Members Options).
I hope there is a way to get WP-Members to do the ideal workflow – redirecting new (non-registered) users to the protected content they were trying to access, after making them go through registration (by clicking on a ‘Register’ link under the Login Form – in order to avoid displaying the Login Form and the Registration Form on top of each other).
Thanks for a great plugin, and for any help with this remaining workflow issue!
It seems that if a new user tried to access blocked content, then clicked on the Register link under the Login form, and we wanted to redirect them to the blocked content after they registered and logged in, we would need to do a (“chained”?) sequence of two redirects.
So it seems like we first would need to do the following:
and then do the following:
Is this correct?
Is this doable? (“Chaining” two redirects?)
If so, where would I put this code? I guess it would go in the function where they first attempted to access the blocked content.
Your documentation is great by the way. I’m just starting to explore it, but it seems much better than what many PHP programmers provide. (Not my best language, but I can read it and maybe hack it a bit.)
So now I’m thinking of the following approach:
(1) Find the procedure where the user attempts to access blocked content.
(2) Redirect them to the Login form here.
(3) Let the user click on the Register link (under the Login form).
(4) Let them log in.
(5) This whole time, remember the URL of the blocked content, and redirect them there.
I’m not sure if this is too complicated, because the user is going through a series of pages (attempt to access blocked content, redirect to Login form, click Register link, register, login – and then finally get redirected to blocked content).
Maybe this involves too many redirects, which might interfere with other redirects already in the code.
However, this seems like a very typical use case: new user trying to access blocked content, redirected to Login form, clicks Register link, registers, logs in… then they should ideally be redirected to the blocked content.
Its a lengthy chain of clicks and redirects but it is also a very typical use case, so I hope there is a way to do it!
I like what you (Chad) wrote here, and I totally agree with it:
And speaking of the philosophical approach to the plugin’s development coupled with the login process (and registration process for that matter), the primary way the plugin functions with its default installation is to require the least amount of steps for a user to get from non-user to viewing content. That is why the default places both login and registration in the place of blocked content, and that is why login drops you by default on the page your were viewing at the time. Most users do not want to be taken away from what they were looking at only to have to navigate back there once they register of login.
This is a really good philosophy – which many other membership plugin developers unfortunately do not understand.
So I see why you display both the registration and the login forms when the user is trying to access blocked content.
I imagine this would be fine if we were able to use a tabbed layout (one tab for ‘Login’, one tab for ‘Register’ – and maybe even a third tab for ‘Forgot Password’) – because this could be concise and compact.
Speaking of tabbed layouts – you have a great example of one here (in the main content area of this page):
This is really the best format to use when presenting both a registration form and a login form: it is compact, and very clear to the user what is going on.
The current default display when accessing blocked content (Login Form followed by a Registration Form) just seems a bit too long, and could confuse or discourage some users from signing up.
This is why I tried to display just the Login form when the user accesses blocked content – by specifying the Register Form so that a Register link will appear under the Login form, and by checking the ‘Turn off registrations’ box so that the Registration Form no longer (redudantly) displays underneath the Login Form.
Of course, this has led to the problem where a new user accessing blocked content has to click on the Register link, then register, then log in – and at that point, I don’t know enough PHP to be able to use your instructions here:
in order to redirect them to the blocked content once they register and log in.
Thanks for any help!
A possible approach – involving only CSS (no redirects):
I hear what you said elsewhere, Chad, about “the least amount of steps for a user to get from non-user to viewing content” and about “why the default places both login and registration in the place of blocked content”.
Since I’m kind of confused about how to do the redirects in PHP (particularly involving a sequence of pages: the blocked content, the login form, the registration form, the login form again…), I’m trying to come up with a simple approach.
I am already intrigued by the idea of presenting the Login and Register forms (and possibly also the Forgot Password form) using a tabbed layout – similar to what you’re doing on your own site, eg:
Converting the existing layout (displaying both the Login and Register forms when the user accesses blocked content) to a tabbed layout displaying Login / Register / Lost Password forms would kill two birds with one stone:
(1) Avoid the need to hack the redirects – since the redirects are already in place to send the user to the blocked content.
(2) Provide a compact, concise layout.
I am probably going to be installing the theme VibeCode, which is based on Bootstrap – so it should include tabbed layout.
Maybe then I could just put the Login form and the Register form each in their own tab. (Assuming an entire form could be stored in a tab, which I think is possible. Also assuming that I can find where in your PHP code these forms are generated, and modify that code to insert the tags for the tabs!)
- The topic ‘"Forgot Password" link is present on "members-area" page, but missing on signup’ is closed to new replies.