Answers.Body: <p>I won't repeat the technique through which you can prevent CiviCRM creating a Contact when a User is created since that's available in the SE post you link to - but what I can do is recommend installing <a href="https://github.com/WPCV/wpcv-woo-civi-integration" rel="nofollow noreferrer">this plugin</a> which will help you to manage the interactions between WooCommerce and CiviCRM.</p>
  <p>At minimum, it will populate the Contact &quot;source&quot; field such that you're able to slice and dice your Contacts appropriately. It will also populate CiviCRM with records for Contributions, Memberships and Participants if that's useful to you - e.g. for generating accounting reports.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-05-21T08:31:48.670Z
Answers.LastActivityDate: 2024-05-21T08:31:48.670Z
Answers.UserDisplayName: Christian Wach
Body: <p>I'm helping this music school that uses Woocommerce, which creates a WordPress user for each customer that registers. And that's screwing with their civi workflows. Civi users get created without any source or other distinguishing info either.</p>
  <p>I thought the WordPress user -&gt; civi user sync had to be done manually via <code>Administer -&gt; Users and Permissions -&gt; Synchronize Users to Contacts</code> (as per the docs), but it seems that's just another way to trigger it.</p>
  <p>Now Advanced search can be used to find all CMS users, but that would mean it would have to be done manually periodically, then all the legitimate civi users excluded, then the rest deleted, which is not really feasible, as the lists are not constant enough.</p>
  <p><strong>Is there a way to disable or limit this sync?</strong></p>
  <p><a href="https://civicrm.stackexchange.com/questions/18065/can-i-disable-syncing-when-wordpress-users-create-accounts">This old question</a> is very similar, but only one answer is potentially relevant, yet incomplete. Is overriding hooks really the only way to achieve this? If so, what's the best way, since I suspect that sketch from 7 years ago wouldn't suffice any more.</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2024-05-20T20:21:41.960Z
Comments.Text: The fundamental concept with civi is that every user is a contact in your civicrm, but not the reverse. having a record in the db of who made purchases is probably an advantage for many orgs but sounds like you don't want that info. i expect you will need to override core - preferably via an extension - to do this
Comments.UserDisplayName: petednz - fuzion
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2024-05-21T10:25:47.030Z
Comments.Text: FWIW, yes, removing hook callbacks is the way to go if you *really* want to prevent sync. The code will still work, but needs to be hooked to a later action. The WooCivi plugin route is still what I'd recommend.
Comments.UserDisplayName: Christian Wach
Tags: <wordpress><user-account><sync>
Title: How to disable automatic user syncing with Wordpress
ThreadText: # How to disable automatic user syncing with Wordpress
  
  (Asked by: username_0 on 2024-05-20)
  
  I'm helping this music school that uses Woocommerce, which creates a WordPress user for each customer that registers. And that's screwing with their civi workflows. Civi users get created without any source or other distinguishing info either.
  
  I thought the WordPress user -> civi user sync had to be done manually via `Administer -> Users and Permissions -> Synchronize Users to Contacts` (as per the docs), but it seems that's just another way to trigger it.
  
  Now Advanced search can be used to find all CMS users, but that would mean it would have to be done manually periodically, then all the legitimate civi users excluded, then the rest deleted, which is not really feasible, as the lists are not constant enough.
  
  **Is there a way to disable or limit this sync?**
  
  [This old question](https://civicrm.stackexchange.com/questions/18065/can-i-disable-syncing-when-wordpress-users-create-accounts) is very similar, but only one answer is potentially relevant, yet incomplete. Is overriding hooks really the only way to achieve this? If so, what's the best way, since I suspect that sketch from 7 years ago wouldn't suffice any more.
  
  **Tags:** wordpress, user-account, sync
  
  > **Comments:**
  > **username_1**: The fundamental concept with civi is that every user is a contact in your civicrm, but not the reverse. having a record in the db of who made purchases is probably an advantage for many orgs but sounds like you don't want that info. i expect you will need to override core - preferably via an extension - to do this  
  > **username_2**: FWIW, yes, removing hook callbacks is the way to go if you *really* want to prevent sync. The code will still work, but needs to be hooked to a later action. The WooCivi plugin route is still what I'd recommend.  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_2 on 2024-05-21. Score: 1 | Accepted answer
  
  I won't repeat the technique through which you can prevent CiviCRM creating a Contact when a User is created since that's available in the SE post you link to - but what I can do is recommend installing [this plugin](https://github.com/WPCV/wpcv-woo-civi-integration) which will help you to manage the interactions between WooCommerce and CiviCRM.
  
  At minimum, it will populate the Contact "source" field such that you're able to slice and dice your Contacts appropriately. It will also populate CiviCRM with records for Contributions, Memberships and Participants if that's useful to you - e.g. for generating accounting reports.
  
  
  ---
  
  