Answers.Body: <p>The <a href="https://wordpress.org/plugins/civicrm-wp-member-sync/" rel="nofollow noreferrer">CiviCRM WordPress Member Sync</a> plugin can help you do this. It will auto-create a WordPress user when a Membership has been successfully created via a Contribution page.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-04-29T08:31:19.920Z
Answers.Text: How do you know they're already using the plugin I mention?
Answers.UserDisplayName: Christian Wach
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-04-29T15:32:23.857Z
Answers.Text: "I am using a Profile to create WordPress users when contacts become members" - so the WordPress users are already being created, and the question appears to be about how to make it so the ONLY way to create a WordPress user is through Civi.
Answers.UserDisplayName: Thaeli
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-04-29T15:39:09.970Z
Answers.Text: If you have a way to use the CiviCRM WordPress Member Sync plugin to prevent allowing the creation of WordPress accounts via any other method, it would be great if you could edit your answer to say how to do that. (For instance, if you mean that this plugin will create the WordPress users correctly even if "Anyone can Register" is set to "no" - that would be useful information along with how to do it.)
Answers.UserDisplayName: Thaeli
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-04-30T16:08:44.647Z
Answers.Text: @Thaeli AFAICT, the WordPress users aren't being created by CiviCRM WordPress Member Sync -- they're being created via a vanilla CiviCRM profile. As the OP states, this means that The WordPress "Anyone can Register" setting must be on. My understanding is that the OP wants to avoid this. My plugin makes that possible and comes with instructions which I don't need to duplicate here.
Answers.UserDisplayName: Christian Wach
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-05-10T16:51:51.723Z
Answers.Text: @Christian Wach is correct. I was not previously using his plug in. Now I am and I have what I need for now and has the added benefit of automatically changing the role when they stop being members which makes it easier to restrict functionality to members only.
Answers.UserDisplayName: Mick Kahn
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-04-28T06:14:10.673Z
Answers.Text: It looks like OP is already doing this. They're asking about how to restrict WordPress user creation to ONLY Memberships created via a Contribution page.
Answers.UserDisplayName: Thaeli
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-03-28T11:03:08.090Z
Answers.LastActivityDate: 2019-03-28T11:03:08.090Z
Answers.UserDisplayName: Christian Wach
Answers.Body: <p>You'll need to redirect the WordPress signup page (usually to your "become a member" page, though it doesn't have to be) so that there's no way to get to the standard WordPress account creation flow. This can be done at the web server level or via a redirects plugin.</p>
  
  <p>You will need to redirect <code>/wp-login.php?action=register</code> to your alternate URL.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-05-10T18:09:21.903Z
Answers.Text: Whilst @christian Wach's solution is better for me now, this may also be a useful option. Previously I also wanted accounts being created when non-members booked events so I'd have to have used the other route enabling "Anyone can Register". But trying it out, I don't think it will work. I'm not an expert, but I think  that the redirect only works on the bit of the URL before the question mark. And you can't just redirect that or you loose the whole login function.
Answers.UserDisplayName: Mick Kahn
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-04-28T06:12:44.877Z
Answers.LastActivityDate: 2019-04-28T06:12:44.877Z
Answers.UserDisplayName: Thaeli
Answers.Body: <p>Google Recaptcha will do wonders to stop the bots from registering. There are also some honeypot plugins out there.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-03-28T01:42:25.470Z
Answers.LastActivityDate: 2019-03-28T01:42:25.470Z
Answers.UserDisplayName: Iowa Boy
Body: <p>I am using a Profile to create WordPress users when contacts become members and this works fine, except that I have to  have "Membership: Anyone can Register" allowed in WordPress Settings > General</p>
  
  <p>This means that anyone out there on the internet can register from the login page (or possibly with some bots). How can I stop this, while still allowing the creating of accounts for new members?</p>
  
  <p>I'm using WP 5.1.1 and CiviCRM 5.11.0</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2019-03-28T04:24:07.330Z
Comments.Text: Can you set the Profile on the membership page to be used to create the account (you can in Drupal) and then channel all users via that screen?
Comments.UserDisplayName: petednz - fuzion
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2019-05-10T16:46:27.227Z
Comments.Text: @peternz that was what I was doing, but in WordPress that requires turning on a more general facility in WordPress that leaves a standard address able to create users.
Comments.UserDisplayName: Mick Kahn
Tags: <wordpress><user-account>
Title: Unwanted user registrations in WordPress
ThreadText: # Unwanted user registrations in WordPress
  
  (Asked by: username_0 on 2019-03-27)
  
  I am using a Profile to create WordPress users when contacts become members and this works fine, except that I have to have "Membership: Anyone can Register" allowed in WordPress Settings > General
  
  This means that anyone out there on the internet can register from the login page (or possibly with some bots). How can I stop this, while still allowing the creating of accounts for new members?
  
  I'm using WP 5.1.1 and CiviCRM 5.11.0
  
  **Tags:** wordpress, user-account
  
  > **Comments:**
  > **username_1**: Can you set the Profile on the membership page to be used to create the account (you can in Drupal) and then channel all users via that screen?  
  > **username_0**: @peternz that was what I was doing, but in WordPress that requires turning on a more general facility in WordPress that leaves a standard address able to create users.  
  
  ---
  
  ## 3 answers
  
  ### Answer by username_2 on 2019-03-28. Score: 1 | Accepted answer
  
  The [CiviCRM WordPress Member Sync](https://wordpress.org/plugins/civicrm-wp-member-sync/) plugin can help you do this. It will auto-create a WordPress user when a Membership has been successfully created via a Contribution page.
  
  > **Comments:**
  > **username_3**: It looks like OP is already doing this. They're asking about how to restrict WordPress user creation to ONLY Memberships created via a Contribution page.  
  > **username_2**: How do you know they're already using the plugin I mention?  
  > **username_3**: "I am using a Profile to create WordPress users when contacts become members" - so the WordPress users are already being created, and the question appears to be about how to make it so the ONLY way to create a WordPress user is through Civi.  
  > **username_3**: If you have a way to use the CiviCRM WordPress Member Sync plugin to prevent allowing the creation of WordPress accounts via any other method, it would be great if you could edit your answer to say how to do that. (For instance, if you mean that this plugin will create the WordPress users correctly even if "Anyone can Register" is set to "no" - that would be useful information along with how to do it.)  
  > **username_2**: @username_3 AFAICT, the WordPress users aren't being created by CiviCRM WordPress Member Sync -- they're being created via a vanilla CiviCRM profile. As the OP states, this means that The WordPress "Anyone can Register" setting must be on. My understanding is that the OP wants to avoid this. My plugin makes that possible and comes with instructions which I don't need to duplicate here.  
  > **username_0**: @username_2 is correct. I was not previously using his plug in. Now I am and I have what I need for now and has the added benefit of automatically changing the role when they stop being members which makes it easier to restrict functionality to members only.  
  
  ---
  
  ### Answer by username_3 on 2019-04-28. Score: 1
  
  You'll need to redirect the WordPress signup page (usually to your "become a member" page, though it doesn't have to be) so that there's no way to get to the standard WordPress account creation flow. This can be done at the web server level or via a redirects plugin.
  
  You will need to redirect `/wp-login.php?action=register` to your alternate URL.
  
  > **Comments:**
  > **username_0**: Whilst @christian Wach's solution is better for me now, this may also be a useful option. Previously I also wanted accounts being created when non-members booked events so I'd have to have used the other route enabling "Anyone can Register". But trying it out, I don't think it will work. I'm not an expert, but I think  that the redirect only works on the bit of the URL before the question mark. And you can't just redirect that or you loose the whole login function.  
  
  ---
  
  ### Answer by username_4 on 2019-03-28. Score: 0
  
  Google Recaptcha will do wonders to stop the bots from registering. There are also some honeypot plugins out there.
  
  
  ---
  
  