Giter Club home page Giter Club logo

christianwach / civicrm-wp-profile-sync Goto Github PK

View Code? Open in Web Editor NEW
13.0 9.0 16.0 2.74 MB

Keeps a WordPress User profile in sync with a CiviCRM Contact and integrates WordPress and CiviCRM Entities with data synced via Advanced Custom Fields.

Home Page: https://wordpress.org/plugins/civicrm-wp-profile-sync/

License: GNU General Public License v2.0

PHP 96.40% Shell 0.09% Smarty 0.17% CSS 1.29% JavaScript 2.05%
civicrm wordpress buddypress buddypress-profiles user-profile

civicrm-wp-profile-sync's People

Contributors

christianwach avatar mattwire avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

civicrm-wp-profile-sync's Issues

WP-user added to WP-sub-site [Bug] [Multisite Feature]

Hi Christian :)

Continuing my testings I think I have found a use case of interest when using with Civi-wp-profile-sync along Wp multisites (one network)

why use civi-wp-profile sync on a wp network

In some working ecosystem (academics, at least in france), many person belong to more than one institutions, it could be their employeer, their lab, some association, etc...

Many of these institution have similar needs when it comes to websites and CRM, but CiviCRM multidomain won't nail it. It's ok to share contact, and have members type visible across institution, but each will want its contributions truely separated.
Actually many would appreciate to share the wp-users as they won't have to create several accounts (on for each institution site) and to share the contact list, as these are just contacts, and what distinguish them from an intitutional perspective is mostly their membership, groups, or relation, which are all well handled by Civi multidomain with acl.

So the idea is to have a wp network, to have a shared user base, and each sub-site will run it's onw Civi-instance.

So far so good, then let's "simply" sync a wp sub site users with the corresponding Civi instance ?

Like this, as soon as a user is added to a sub-site (an institution site), it's on the institution civi instance.

To push the idea to its end, let's say that when a wp-user is added to the main-site or any-sub-site, it's also added to all sub-site --> we do have our shared user base, plus each wp-sub-site or each civi-instance can have their own custom fields.

So let's implement this and see what happens...

the curent behaviour

The setting is as below :

  • WP network : no specificity here per se, just regular wp-main-site and wp-sub-sites of a wp network.
  • Civicrm plug-in (code) installed on the network, but activated on a site by site basis, same for civi-wp-profile-sync
  • each wp sub-site has its own Civi instance, which means its own Civi folder in uploads/siteX/civicrm, its own Civi-settings file and its own Civi-database (I don't discuss here the install process, we covered that elsewhere)
  • a custom php script get the current site url home_url() and switch to the right Civi instance.

Thus we have a shared base of wp user across the wp-network, we'll call them wp-user-network, from which each site get its users, they are the same but we'll call them wp-user-site, and a civi instance with its contact

The wp-user-site are synced with the civi-contact thank's to this plug-in, but some situation are not well/fully handled.

  • if one add a contact in Civi,
    • a white page is displayed
    • two contacs are created (if civi-wp-rpofile-sync is disabled only one contact is created)
    • one wp user is created (both at site and network level, logic)
  • if one add a existing wp-user-network is added to a sub-site
    • the user id added to the sub-sute, but the contact is not created
      • if one edit the wp-user,
        • there is a error page saying the user ID do not exist
        • Two Civi-contact are created
        • a second wp-user is created
        • None of the above mentionned wp-user and Civi-contact are linked togather

Once this passed, the sync is "all right"

PS : an alternative solution could be to use civi-acf-integration, sync post-type across sub-sites, and sync post type to civi-contacts (yet I have to find a stable way to set this)

but we "loose" the "user" approach which seemed very interesting in term of integration

Regards

Usernames frequently not unique when creating users

When creating users on bulk the code does the following

  1. First name is 1 character (initial)? Pad with middle name
  2. Username = first name + last name
  3. Username already exists (very likely)?
  4. Fall back to Wordpress plugin to try and resolve (as of 3f677c4)
  5. Clash still exists? Ignore user

That means any users with the same first, and last name won't be entered into the database. This is a very common occurrence with UK names (I believe 50% of people are called John Smith).

May I suggest moving the Wordpress plugin further up. I think firstname.lastname should be the fallback: this way the user has control of how usernames are generated entirely.

Sync WooCommerce billing address CiviCRM billing address

Is it possible to extend this plugin so that when users update their WordPress (eg WooCommerce) billing address (in 'my-account'), this updates the CiviCRM contact's billing address? And vice versa?

It would also be nice to sync the WooCommerce shipping address, though this might require a simple GUI to choose which CiviCRM address to sync to (work, main, etc)

Editing a Participant in CiviCRM clears some Participant Fields in ACF unless it is saved twice in CiviCRM

Hi there,

I'm getting into the participant CPT sync feature.

I did have set it up according to the documentation, and have mapped some custom field. For the record, I do have a radio field and a file field and they are properly mapped/synced ! Excelent !

The issue is that when I edit a participant in Civi, some fields like the "origine of the participant" or my custom fields (both radio or file), the changes are well saved in Civi and synced into WP-CPT, however some "participant data" (so your field) are cleared in wp.

It is repeatable and always related to the "CiviCRM Event" and the "CiviCRM Contact" field.

Saving the participant twice in CiviCRM restore the proper data in the wp-cpt.

I have been doing quite a bit of testing with the same result redundantly.

It also ocurs for participant role, but only the first time when creating a new participant in Civi, then the role remains

I don't thing I've set something wrong, but it might be so ?!

Let me know if I can do any testing for you, or look for some logs that might be of interest !

Cheers

CiviCRM Participant not create when WP-Participant is created programmatically

Hi there,

The more I dig into the "new" feature of this plug-in, the more I like it.

I'm not sure if this is something you may consider to address, but it would be great if yes :)

I just realise that

  • when I create a WP-Participant from wp-admin, the synced Civi-Participant is created as well : awesome
  • when I create a WP-Participant programatically (with a third party form), then the Civi-Participant is not created. I need to edit the WP-Participant so that the Civi-Participant is created.

I guess it might be complicated to "listen" for participant post creation when it's done programatically, and trigger the appropriate sync function, but that a bit sad that is is not happening !

Ok I might use an ACFE Form and the participant action, or not because then I would need to programmatically do many things that I do "out of the box" in my form.

Cheers

File upload for custom contact field?

Could you provide an estimate for how much it would cost to support a file upload for ACFE for a custom field on a contact? Would you be able to do this in the next few weeks?

Sync a WordPress taxonomy to an ACF custom field of type radio or checkbox

Hi there,

I've bumbped into a case where I do sync a checkbox field between Acf and Civi-Custom field.
It works great as long as you have properly set the options and values on both side, manually.

One thing that would be great is to be able to sync an acf taxonomy field with a Civi-Custom-field of type checkbok or radio.

At first, it would be ok if we still have to set values manually on both side, as the idea is mostyl to benefit from taxonomy feature on the wp side. Of course it would be awesome if they could be synced automatically, but that is not critical.

Cheers

May a CPT without title field be used to sync CiviContact

Hi @christianwach

I do have a question, I've partly experienced it, but would be more confident if you could provide a more structural answer.

Ok, we can map a Civi-Contact-Type to a WP-CPT, and then map fields.

Out of the box, if the CPT has a title field, civicrm-wp-profile-sync, map the post_title to the civicrm_contact_name.

This is cool, despite it migh not be best when one want a separate acf field for first_name and last_name.

Now the question is, what happes if the cpt do not have a title field. I mean will civicrm-wp-profile-sync requires a email_field, a first_name and a last_name field, etc.
Well is there any pro/con or changes in the behaviour to be aware of ?

Thank's in advance

Regards

propagate between sites

Hi,

I've seen that the description of the plugin now address quite neatly the multi-site functioning ; that's great !

more specifically there is this paragraph :

If CiviCRM is not in Multi-Domain mode, you may have to write some custom code to propagate changed User details to other CiviCRM instances because (depending on the site on which a particular User's details are changed) only the Contact on the CiviCRM instance linked to that site will be updated.

whish is exactyl how I envisioned thing there #15

Some while ago, when I was using acf-civi to sync a wp cpt name CustomAuthors with civi contact, i went the same road, syncing post that then propagated the change to civi.
But the user approach is the one I wanted to privilege, but couldn't yet :)

Now that it is possible the question is : do you have any generic script to suggest to implement this ?

Thank's

Bi-directional-Sync works but if wp-post created first, no civi-contact are created

Hi there,

I'm opening this issue facing this behaviour.

It is basicallyy the exact same issue as this one #24 except that the "solution" do not work this time, and quite many updates have been done in the meantime, wp, civi, acf, etc.

Also, it appears that manualy syncing do not work. It starts, but nothing happens. It applies for the post type I'm dealing with, but I've tested a group to taxonomy sync and it was ok

I'm really puzzled and have now clues why is that so !

any help would be greatly appreciated :)

Cheers

"Undefined index: contact_type_a" in log while relationships seems well defined

Hi ,

Some while ago i bumped into an issue which was related to CiviRules and your plug-in (see #33 ). In this Case disabling CiviRules restored the functioning of CWPS, but it actually did not "solve all".

I do not observe any functioning issues, but my wp debug.log still has these notices.

`
Notice: Undefined index: contact_type_a in /home/clients/bbc72ce255869f60b780c5b2eda42100/sites/pole-foncier.fr/web/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/acfe/form-actions/cwps-acf-acfe-form-action-contact.php on line 345

Notice: Undefined index: contact_type_a in /home/clients/bbc72ce255869f60b780c5b2eda42100/sites/pole-foncier.fr/web/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/acfe/form-actions/cwps-acf-acfe-form-action-contact.php on line 342

Notice: Undefined index: contact_type_b in /home/clients/bbc72ce255869f60b780c5b2eda42100/sites/pole-foncier.fr/web/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/acfe/form-actions/cwps-acf-acfe-form-action-contact.php on line 343
`

As you recomended last time I have checked my relationships, in Civi, and even tried to disable all the custom ones I have, but the notice remains.
civirelation

Do you have any clues why and how to "clean" this ?

thank's in advance

" First pass at Participant sync"

Hi @christianwach

I've seen you've recently added some field type int he comit of the above name, but they do not seems to apear on the readme file.

I've tried them, events ref and event type, civi events are loaded, but can't figure what happen on civi side ?

Is this already functional or only the field exist but they are not "linked" to Civi "action" yet ?

Very interested in that ;)

ACFE Form action: remove from group

Hi Christian

I see that is is possible to add a contact to a group, and it can be done conditionally as you explain in the doc.

But I haven't seen any way to remove a contact from a group ?

Have I missed something, is it a feature you did not think about, or is it super complicated or risky to deploy ?

Thank's in advance for your repy
and 💯 for this awesome plugin that keep going forward

Hook(?) for CiviRules

Can you do a hook for CiviRules? I want to automate our onboard process even further. This is, ppl. use a caldera forms, so a civi-contact is created. I then do some CiviRules magic. Creating a wordpress user of that contact by CiviRules would be a big plus.

Civi Relationship and ACF Relationship

Hi @christianwach

Here is something I had in mind for a while, but haven't shared yet ! The relatively recent arrival of the "participant" syncing ability revive this questioning.

Let me start by recalling what is the situation "at the moment" then provide an use case and finally what could be an enhancement.


At the moment

Civi Only (not considering Acf)

Civi provide for bi-directional relationship, and these relationship are "characterized".

There are built-in "kind of" relationship, that may be or not applied between certain type of Civi-Contacts ; and a given relathioship has different labeling for A-> and B->A ; for instance "Child of" and "parent of".

Acf Only (not considering Civi)

Acf (and some extra module or custom coding within the Acf realm) provide for bidirectional relationship between Post ; theses relationship could be set within the same CPT or across different CPT depending on Acf group location.

To my knowledge, Acf relationship field can't be "characterised", there is no "type" of relationship (beyond mono/bi-directionality)

The UI is quite friendly for the editor, and displaying Acf relationship on frond end means templating within Acf realm.

Civicrm-wp-profile-sync

This plug-in add a type of Acf-field named CiviCRM Relationship field.

As Civi relationship are characterised, the field has an mandatory option to select the "type of" relationship, including the direction A->B or B->A.

In practice when editing posts, the Civicrm relationship field is an auto complete field which gather contact form CiviDB.

I'm not sure how it works, if it create a reationship between the CPT and the related contact, or "just" sync this Acf field with a sort of Civi Field containing one kind of relationship

Anyhow that is super powerfull.


Use case

set up

We have three type of Civi-Contact, and three CPT that are synced togather like this

  • Civi-Contact-Individual <->Wp-Cpt-Author
  • Civi-Contact-Organisation-Insttitution (subtype) <-> Wp-Cpt-Institution
  • Civi-Contact-Organisation-Lab (subtype) <-> Wp-CPT-Lab

There are several kind of relationship between individual, institution and lab so I'm not gonna list them all as one example is enough.

An individual may be an employee of and Institution, and an institution may be an employer of an individual.

Within Civi, handling this relationship is built in, and adding it to some contacts requires nothing more than editing a contact relationship.

Within Wp/Acf, handling this requires to create two ACF field group - respectively located in Wp-Cpt-Author and Wp-Cpt-institution - each containing a CiviCRM relationship field set to the proper type of relation and direction.

This is super great !

But there is a but...

Downside/ Limitation

The CiviCRM Relationship field creates a bidirectional-relation between the synced Civi-Contact. There is thus no relationship between the a Wp-Cpt-Author and a Wp-Cpt-Institution.

On the contrary, setting a bi-directional Acf relationship between two CPT wouldn't add this relation into Civi

This is sad for few reasons :

  • CiviCRM relationship field UI is not as nice as Acf relationship field
    • it is difficult to read an reorder related items when there or several of them
    • seach is limited to "free text" while Acf has taxonomy too.
    • you can't add/edit CiviContact from Wp UI, while Acf provide for inline add/edit of related post (as many level as you may want)
  • templating is more complicated has you can't use conventional Acf relationship templating design but need to get related post out of their CiviCRM-Contact-Id meta

Make ACF/CiviCRM relationship field smartly integrated

I think you start to see where I am heading :)

It would be absolutly awesome that setting an ACF relationship between two CPT that are synced with Civi-Contact, add the relationshp in Civi.

I'm not sure you get my idea but if not, I hope the following explanation of how might clarify my propo.

  • a new Acf Field type, let's say CiviCRM-Acf Relationshipwith
    • a dropdown field to set the type of relation, which value are collected from Civi
    • a toggle to enable bidirectional relationship between CPT (or no toggle and forced ON)
    • a multi selecf field to set the Acf relationship field involved in the bidirectional process

On post edit page, we would have a single "Acf relationship like" field where we define the related CPT.

Adding a value/CPT in such field would add a bidirectional relationship field between the two posts, let's say PostA and PostB, as well as add a bidirectional relationship - of the kind set in the CiviCRM-Acf Relationship field setting - between postA-synced-CiviContac and postB-synced-CiviContact

This would keeps relationship between Wp-Cpt and CiviContact neat across both Civi and WP ! Yay !

There is also one interesting extra feature that I may mention : Acf Relationship field can set to be multi-bidirectional-relationship, i mean one Acf relationship field on Cpt-author can be bidirectional with both an Acf Relationship on Cpt-Instutution and an Acf Relationship field on Cpt-Lab (belonging to thus three Acf field groups).

With this feature, author in Wp could have one Acf Relationship field which type of relation is "member of" that would be used for both member of an Institution or/and member of a Lab
Maintaining the synci of Civi relationship with this Acf set up is almost critical if we have to use Civi-Contact-Subtypes of Individual and Organisation synced in wp and having their own Acf field Group. Almost as if not it would probably also fails when sharing Acf Group between CPT, and as if not we could always create more Acf Relationship field to cover our need

As a botom line,the way I thought of is is that here the relationship is between the CPT only, but it also need to track when there is a change in the Civi-contact relationship , so the post also get updated (as it is now but diferently).

There is probably an other/better way to set this.

a more advanced on could be to use Acf group/flexible content field, containing one dropdown field to set the type of relation and one acf relationship field. It is more advanced as it would enable the editor to add any any kind of relationship and not only the one for which a relationship field was provided. The machinery behind would also be much more complicated.

Ok here we are

Now what are the pro and con of this (or any other implementation of this feature) ?

Pro :

  • relationship are truely/fully synced,
  • no need to navigate between WP and Civi to handle some or some other stuff (I could detail if needed)
  • let Wp editor only be editor, with no access to Civi, while still be able to set (some selected) relationships
  • easier to template as it is maintain Acf templating practices

Con :

  • one more field type means the plugin is harder/costly to maintain
  • more resource consumption as adding a relationship
  • any other ?

Ok I'm curious to the what do you think about that, especially if there are downside I haven't perceived
Cheers

CiviCRM Profile Sync seems to cause fatal error when Admin menu is visible, and user is not an administrator

I have a WP install that is relatively fresh. Very minimal until the last month or so when I started working a lot on it.

I installed CiviCRM for a membership site, and installed useful plugins, like this one.

But I have found that if a user role has access to the admin menu, and is NOT an Administrator then WP will crash with the below error.

Fatal error: Uncaught PEAR_Exception: DB Error: unknown error in /home/<WEBDIRECTORY>/public_html/wp-content/plugins/civicrm/civicrm/vendor/pear/pear-core-minimal/src/PEAR.php on line 922  - DB_Error DB Error: unknown error in unknown on line unknown. Exception trace

CRM_Core_Error::exceptionHandler(Object(DB_Error))

/home/<WEBDIRECTORY>/public_html/wp-content/plugins/civicrm/civicrm/vendor/pear/pear-core-minimal/src/PE

 in 

/home/<WEBDIRECTORY>/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Error.php on line 943

If I disable CiviCRM Profile Sync, then everything seems to work fine. Except of course profile info isn't synced.

Not sure if this is an unfortunate interaction, or something else...

I can reproduce it every time by enabling this plugin with a user who has access to the Admin menu, and is not an Administrator.

I'm running CivCRM 5.36.0, WP 5.7.1 with all plugins and themes updated to the latest.

(CiviCRM has a .1 update its telling me about, but I don't want to take the time for that right this instant.)

Running MySQL 5.7.34, PHP 7.3.27 on a WHM/Cpanel instance

(NOTE: I raised an issue in CiviCRM Member Sync that has the same error. Since both of them are to do with synchronisation... )

Where to set constants from default?

It looks like CIVICRM_WP_PROFILE_SYNC_BULK needs to be true to add the Create WP users action to the Contact form.

However, if I define it first in my wp-config.php, I get PHP Notices that it's already defined in this plugin. Where is it intended to set this?

[Bug] Name of bulk created users get "—"

Hey Christian,

using 0.3, bulk created wp-users gets "—" as a name. Before it was just "Firstname Lastname".

Civi: 5.24.5

--
I don't know yet, maybe this is also a reason of a weird behaviour that my synced civi profiles loosing their names and though my sync to nextcloud fails, but this needs further verify.

[How To] sync deletion of WP-user/account Civi-contact

Hi @christianwach

I have set wp profile sync and it worck great on account creation et edition and on contact creation or edition.

However there are few wp-account that it would like to delete, they are linked to Civi-Contact, but deleting the account do not delete the contact.
I haven't tried to delete a contact (fully delete not just garbage it) and see if it delete the wp account, because I naturally tend to do what I can from wp dashboard rather thant Civi dashboard, and most power user (editors, etc) have very little knowledge of civi and would certainly do the same :)

so
is there a way to sync deletion ? in two ways ?
how to keep wp user list synced with civi contact ?
Thank's

Multisite behaviour : when an existing user is added to a sub-site, the contact is not created

Hi @christianwach

Digging and digging in wp civi interaction and behaviour !

This is not an issue per se, but a report on the behaviour of the puig-in in use case you might not have explored :)

the set up :
wp network
one sub-site has it's own civi instance/database


I've just realised that when an existing wp-user (of the network) is "simply" added to a subsite the contact is not created. 😿
The user actually needs to be edited for the contact to be created.

If a user is created from the subsite, could it be via the wp-subsite dashboard, or a front end form, then the new user is created, and the civi contact to. 😀


on the other end

when o a user of the main site tries to log in from a sub site he do not belong to, a contact is created and linked
to its user... which is not in the sub site (yet?) 🙃

Cheers

File field: mapping ok, but nothing happens when using ACFE forms

Hi there (again :)

There is no mapping between the CiviCRM "File" and the ACF "File" Field Types yet. This will be released when civicrm/civicrm-core#23002 becomes available in distributed versions of CiviCRM.

I know that the file field sync depends of some advancement of Civicrm, I do have the lastest release to date 5.55.1, and the today master branch of this plug-in, but I do not know if the comit you metion in the doc is included the my civi release yet ?

I have maped a Civi custom file field to an ACF file field, and they sync nicely, so I guess the above is not the issue :)


Now I wanted to use AcfeForm to enter data.

I created my acf group, and then the form.
It has a contact action, and a participant action.

The form submits the data nicely into Civi, but the file.

I have tried as many setting as I could but the behaviors remains the same.

I'm not sure if it is to be expeted, my guess is not, but in both case I wanted to report this behavior to get a better understanding of the situation

Cheers

Troubleshooting sync failure

I've run up against a bit of a wall with the sync -- I have the plugin installed and it looks like it's configured correctly, however I can't for the life of me get it to do the sync. I was wondering if there's any way to make it log its attempts to get a better understanding of what's going on?

Currently it's set to apply the group 'member' when an active membership is assigned. I've tried manual sync, logging in/out, editing the membership settings and the scheduler but my test user stubbornly refuses to be a member.

Any pointers gratefully received!

Sync custom post type with events

Hi @christianwach

I had this in mind for a while but wasn't sure of its interest and benefits, and still, but I have to drop it somewhere, curious about your feedback.

In short, why couldn't we choose what CPT we would lile to sync with CiviEvent, and map the fields, there are basically very few of them, and if it is doable for an existing plug-in with its own post type, it mush be doable without much work for any CPT ?!


Longer, then,
As you know I've been using civicrm-wp-profile-sync, and it's acf feature, as well as civicrm-event-organiser.

While I do appreciate EO for some reasons, there are other bothering me, and there are pro and cons using a plug-in versus a CPT.

To my understandign Eo event is very basic, and this is likable. but it is so basic that I don't see the point of using a plug-in rater than a CPT with an ACF group ?! The paid version offers extra features, but I don't see the point of getting it to use it along CiviEvent.

One may yet wonder why would we need an other CPT. First, I may want event to be hierarchical, with "event" and "sessions" while EO only offers "flat" events. Then One may want to add custom field to event, which could be done, but end in a secondary metabox, which is a realy pain UX wise (after some month of expériment, I can state that average user do not get that there may be two metabox to specify a single event basic and related data, for instance the venue "place" and the "office/room number" within the "place". In my case we thus have an extra field for "venue office/room/details" this is not in the same metabox than the event venue...

I've been tackling this issue by adding "message field" in an acf groupe and "moved" the event-organisaer metabox in it, but every now and then the metabox is not displayed and one need to go to the screen option to bring it back ?! Which is even worst.

I guess the "only need" to enable any post type to be synced with Civievent, would be to add a custom function or shortocde that add the subscribe link on the CPT template or post ?

Well that' it for now :)

Cheers

[Feature] Create wp-user of a single profile

Feature:
When in profile view, add an option to the "action menu" to create a wordpress user out of this profile.

Condition:
CIVICRM_WP_PROFILE_SYNC_BULK is set true. (I know, the name of the constant would then be misleading :-/)

Benefit:
You are able to create a user out of the profile, you don't have to go to a group this user belongs to or have to search for parts of the user information just to get a table view where you can create a user out of that profile.

how to use wp action like "save_post" along cwps : any recomendations ?

Hi there,

I would like to perform some custom task (fuction) on some wordpress post or user events, like save_post, edit_post, user_register
edit_user_profile, and so on.

Is there any recomendation on how to do that knowing that cwps is running to ?
I've tried to basic function that works nicely without cwps but crash when it is enabled.

Actually, it would even be best if I could run my function after cwps is done doing what it has to do.
this would enable to change something on a contact in Civi, let the change propage in the synced wp post, and once the change in the wp post is done, then I perform my action.


Conversely, I would also like to programatically do something on a post or user using function like wp_update_post.
I haven't tried yet as I'm still facing the above issue

If you have any guidance it would be great, because it is the only way I have found to replace the issue when using Civi-Rules along cwps.

Regards

PHP 8 Deprecation Notices

After switching over to PHP 8.0, I noticed the following notices:

Required parameter $dedupe_rule_id follows optional parameter $contact_type in /wp-content/plugins/civicrm-wp-profile-sync/includes/acf/classes/cwps-acf-contact.php on line 679
Required parameter $type follows optional parameter $value in /wp-content/plugins/civicrm-wp-profile-sync/includes/acf/classes/cwps-acf-acf-field.php on line 571
Required parameter $settings follows optional parameter $value in /wp-content/plugins/civicrm-wp-profile-sync/includes/acf/classes/cwps-acf-acf-field.php on line 571
Required parameter $settings follows optional parameter $value in /wp-content/plugins/civicrm-wp-profile-sync/includes/acf/classes/cwps-acf-acf-field.php on line 699
Required parameter $settings follows optional parameter $value in /wp-content/plugins/civicrm-wp-profile-sync/includes/acf/classes/cwps-acf-acf-field.php on line 720
Required parameter $settings follows optional parameter $value in /wp-content/plugins/civicrm-wp-profile-sync/includes/acf/classes/cwps-acf-acf-field.php on line 741
Required parameter $data follows optional parameter $action in /wp-content/plugins/civicrm-wp-profile-sync/includes/acf/acfe/form-actions/cwps-acf-acfe-form-action-base.php on line 117
Required parameter $data follows optional parameter $action in /wp-content/plugins/civicrm-wp-profile-sync/includes/acf/acfe/form-actions/cwps-acf-acfe-form-action-base.php on line 194

I was looking to just add on a default value to make these optional, but then thought the code may need some checks to verify that the expected variable has data you expect. So checking an array property exists before checking against it for a value.

Défault dedupe rule ?

Hi @christianwach

May I ask if there is and what is the default dedupe rule ?

let me suggest a simple use case,
I do have a contact with only it's primary email, but he has no user
then a user register with the primary email of the above contact (plus extra contact details)

Out of the box, a second contact is created.

Thus the question is is there a dedube rule ran when civi-wp-profile-sync triggers and can I set a default one ?

regards

Bulk create users - option missing?

We recently updated our CiviCRM to 4.6.22 and updated the profile sync plugin. Prior to the update we could select contacts from a list and bulk create WordPress accounts using "create wordpress users from contacts" but since the update this option is no longer available.

The last version we had installed required that we copy some template and PHP code into the 'plugins/files' folder but the installation instructions no longer seem to require this (having the code there or not seems to make no difference).

Is this feature no longer available or is there an additional installation step we've missed?

Here's some info on the test environment:

  • WordPress 4.6.1
  • CiviCRM 4.6.22 (clean install with default test data)
  • Profile Sync 0.2.5
  • TwentySixteen theme

thanks!
Chris

Merge to Core?

Hi Christian,

Do you think this functionality would be a good candidate to merge into core?

Secondly, I have an extension (for CiviCRM 4.4) that does this, plus grabs data from a custom field (file upload) and adds that data to user_meta. Is there a way to extend this plugin to take care of cases like this?

ACF integration: no Custom fields visible under "ACF Field Group > Field type"

It is CiviCRM 5.29, ACF 5.9.5 and CiviCRM Profile Sync 0.4
After reading "Links between Fields" I was searching for "Constituent Information" fields on ACF "Edit Field Group > Add FIeld > Field Type" and found nothing, only basic Contact fields are listed, like ID, Contact Reference, Address, etc. I believe I've followed all pre-requested setup steps: Custom post type creation, linking it to Content Type, etc. It feels like some configuration steps are missing still, like cache clear or..? Please advise, thank you.

No WP-post-type selector in Activity type settings

Hi there :)

I'm considering using the possibility to sync a wp-post-type with an activity type as describe in the redme.

However, in Civi -> Administer -> Customize Data and Screens -> Activity Types -> edit and activity, there is no selector to set the wp-post-type we want to sync.

for the sake of testing, I've checked with several type of activity and created a new post type.
Also note that the selector is indeed present when editing civi contact type.

Have I missed something in the set up process ?

Cheers

EDIT :
I've just seen that I do have a selector for activity linked to civicrm "contact" module only, not any module.
I don't really get why this restriction.

Let me provide a use case :
Use civi to manage an event
contact register to an event, pay for it, may ask to change something in their registration, the organisator may process this change... all this can/are log in the activity tab.
The organisator want to provide a front end feedback to the user, so the user can know what has been done or not (yet).

If I could sync any type of activity to a given post type (and use a taxonomy to differentiate activity by type) then I could provide selectively the activity on front end for the log-in wp-user <->civi contact

Add option to disable nickname syncing

Our organization uses the "Nickname" field in CiviCRM to give the name a person goes by in-person (not their WordPress username). I would love to use the profile sync plugin, but haven't found a way to disable "Nickname" field syncing. Could this be added?

profile sync filling ConfigAndLog with Authentication Failures on CiviCRM 5.57+

Steps to reproduce

  • WP 6.1.1
  • CiviCRM 5.57.+
  • Authx extension enabled (as required)
  • Install profile sync - master branch as well
  • Install and activate ACF Pro
  • Install and activate ACF Extended (regular or Pro)
  • Load any web page

ConfigAndLog fills up with:

Feb 21 18:49:47  [debug] $API Request Authorization failed = #0 /home/wpcvrc/public_html/wp-content/plugins/civicrm/civicrm/Civi/API/Kernel.php(153): CRM_Core_Error::backtrace("API Request Authorization failed", TRUE)
#1 /home/wpcvrc/public_html/wp-content/plugins/civicrm/civicrm/Civi/API/Kernel.php(81): Civi\API\Kernel->runRequest((Array:8))
#2 /home/wpcvrc/public_html/wp-content/plugins/civicrm/civicrm/api/api.php(22): Civi\API\Kernel->runSafe("Event", "get", (Array:5))
#3 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/classes/cwps-acf-event-location.php(406): civicrm_api("Event", "get", (Array:5))
#4 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/acfe/form-actions/cwps-acf-acfe-form-action-event.php(1037): CiviCRM_Profile_Sync_ACF_CiviCRM_Event_Location->get_all()
#5 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/acfe/form-actions/cwps-acf-acfe-form-action-event.php(556): CiviCRM_Profile_Sync_ACF_ACFE_Form_Action_Event->tab_mapping_accordion_location_add()
#6 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/acfe/form-actions/cwps-acf-acfe-form-action-base.php(239): CiviCRM_Profile_Sync_ACF_ACFE_Form_Action_Event->tab_mapping_add()
#7 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(308): CiviCRM_Profile_Sync_ACF_ACFE_Form_Action_Base->action_add((Array:10))
#8 /home/wpcvrc/public_html/wp-includes/plugin.php(205): WP_Hook->apply_filters((Array:10), (Array:1))
#9 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/modules/form/module-form.php(667): apply_filters("acfe/form/actions", (Array:0))
#10 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/module-legacy.php(32): acfe_dynamic_forms->add_local_field_group()
#11 /home/wpcvrc/public_html/wp-content/plugins/advanced-custom-fields-pro/includes/acf-utility-functions.php(23): acfe_dynamic_module->__construct()
#12 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/modules/form/module-form.php(1839): acf_new_instance("acfe_dynamic_forms")
#13 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/init.php(40): include_once("/home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/modules...")
#14 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/acf-extended.php(279): acfe_include("includes/modules/form/module-form.php")
#15 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(308): ACFE->init(6)
#16 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(332): WP_Hook->apply_filters(NULL, (Array:1))
#17 /home/wpcvrc/public_html/wp-includes/plugin.php(517): WP_Hook->do_action((Array:1))
#18 /home/wpcvrc/public_html/wp-content/plugins/advanced-custom-fields-pro/acf.php(350): do_action("acf/init", 6)
#19 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(308): ACF->init("")
#20 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(332): WP_Hook->apply_filters(NULL, (Array:1))
#21 /home/wpcvrc/public_html/wp-includes/plugin.php(517): WP_Hook->do_action((Array:1))
#22 /home/wpcvrc/public_html/wp-settings.php(617): do_action("init")
#23 /home/wpcvrc/public_html/wp-config.php(118): require_once("/home/wpcvrc/public_html/wp-settings.php")
#24 /home/wpcvrc/public_html/wp-load.php(50): require_once("/home/wpcvrc/public_html/wp-config.php")
#25 /home/wpcvrc/public_html/wp-cron.php(46): require_once("/home/wpcvrc/public_html/wp-load.php")
#26 {main}


Feb 21 18:49:47  [debug] $API Request Authorization failed = #0 /home/wpcvrc/public_html/wp-content/plugins/civicrm/civicrm/Civi/API/Kernel.php(153): CRM_Core_Error::backtrace("API Request Authorization failed", TRUE)
#1 /home/wpcvrc/public_html/wp-content/plugins/civicrm/civicrm/Civi/API/Kernel.php(81): Civi\API\Kernel->runRequest((Array:8))
#2 /home/wpcvrc/public_html/wp-content/plugins/civicrm/civicrm/api/api.php(22): Civi\API\Kernel->runSafe("Event", "get", (Array:5))
#3 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/classes/cwps-acf-event-location.php(406): civicrm_api("Event", "get", (Array:5))
#4 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/acfe/form-actions/cwps-acf-acfe-form-action-event.php(1037): CiviCRM_Profile_Sync_ACF_CiviCRM_Event_Location->get_all()
#5 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/acfe/form-actions/cwps-acf-acfe-form-action-event.php(556): CiviCRM_Profile_Sync_ACF_ACFE_Form_Action_Event->tab_mapping_accordion_location_add()
#6 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/acfe/form-actions/cwps-acf-acfe-form-action-base.php(239): CiviCRM_Profile_Sync_ACF_ACFE_Form_Action_Event->tab_mapping_add()
#7 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(308): CiviCRM_Profile_Sync_ACF_ACFE_Form_Action_Base->action_add((Array:10))
#8 /home/wpcvrc/public_html/wp-includes/plugin.php(205): WP_Hook->apply_filters((Array:10), (Array:1))
#9 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/modules/form/module-form.php(667): apply_filters("acfe/form/actions", (Array:0))
#10 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/module-legacy.php(32): acfe_dynamic_forms->add_local_field_group()
#11 /home/wpcvrc/public_html/wp-content/plugins/advanced-custom-fields-pro/includes/acf-utility-functions.php(23): acfe_dynamic_module->__construct()
#12 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/modules/form/module-form.php(1839): acf_new_instance("acfe_dynamic_forms")
#13 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/init.php(40): include_once("/home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/modules...")
#14 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/acf-extended.php(279): acfe_include("includes/modules/form/module-form.php")
#15 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(308): ACFE->init(6)
#16 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(332): WP_Hook->apply_filters(NULL, (Array:1))
#17 /home/wpcvrc/public_html/wp-includes/plugin.php(517): WP_Hook->do_action((Array:1))
#18 /home/wpcvrc/public_html/wp-content/plugins/advanced-custom-fields-pro/acf.php(350): do_action("acf/init", 6)
#19 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(308): ACF->init("")
#20 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(332): WP_Hook->apply_filters(NULL, (Array:1))
#21 /home/wpcvrc/public_html/wp-includes/plugin.php(517): WP_Hook->do_action((Array:1))
#22 /home/wpcvrc/public_html/wp-settings.php(617): do_action("init")
#23 /home/wpcvrc/public_html/wp-config.php(118): require_once("/home/wpcvrc/public_html/wp-settings.php")
#24 /home/wpcvrc/public_html/wp-load.php(50): require_once("/home/wpcvrc/public_html/wp-config.php")
#25 /home/wpcvrc/public_html/wp-blog-header.php(13): require_once("/home/wpcvrc/public_html/wp-load.php")
#26 /home/wpcvrc/public_html/index.php(17): require("/home/wpcvrc/public_html/wp-blog-header.php")
#27 {main}


Feb 21 18:49:47  [debug] $API Request Authorization failed = #0 /home/wpcvrc/public_html/wp-content/plugins/civicrm/civicrm/Civi/API/Kernel.php(153): CRM_Core_Error::backtrace("API Request Authorization failed", TRUE)
#1 /home/wpcvrc/public_html/wp-content/plugins/civicrm/civicrm/Civi/API/Kernel.php(81): Civi\API\Kernel->runRequest((Array:8))
#2 /home/wpcvrc/public_html/wp-content/plugins/civicrm/civicrm/api/api.php(22): Civi\API\Kernel->runSafe("Event", "get", (Array:5))
#3 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/classes/cwps-acf-event-location.php(406): civicrm_api("Event", "get", (Array:5))
#4 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/acfe/form-actions/cwps-acf-acfe-form-action-event.php(1037): CiviCRM_Profile_Sync_ACF_CiviCRM_Event_Location->get_all()
#5 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/acfe/form-actions/cwps-acf-acfe-form-action-event.php(556): CiviCRM_Profile_Sync_ACF_ACFE_Form_Action_Event->tab_mapping_accordion_location_add()
#6 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/acfe/form-actions/cwps-acf-acfe-form-action-base.php(239): CiviCRM_Profile_Sync_ACF_ACFE_Form_Action_Event->tab_mapping_add()
#7 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(308): CiviCRM_Profile_Sync_ACF_ACFE_Form_Action_Base->action_add((Array:10))
#8 /home/wpcvrc/public_html/wp-includes/plugin.php(205): WP_Hook->apply_filters((Array:10), (Array:1))
#9 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/modules/form/module-form.php(667): apply_filters("acfe/form/actions", (Array:0))
#10 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/module-legacy.php(32): acfe_dynamic_forms->add_local_field_group()
#11 /home/wpcvrc/public_html/wp-content/plugins/advanced-custom-fields-pro/includes/acf-utility-functions.php(23): acfe_dynamic_module->__construct()
#12 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/modules/form/module-form.php(1839): acf_new_instance("acfe_dynamic_forms")
#13 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/init.php(40): include_once("/home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/modules...")
#14 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/acf-extended.php(279): acfe_include("includes/modules/form/module-form.php")
#15 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(308): ACFE->init(6)
#16 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(332): WP_Hook->apply_filters(NULL, (Array:1))
#17 /home/wpcvrc/public_html/wp-includes/plugin.php(517): WP_Hook->do_action((Array:1))
#18 /home/wpcvrc/public_html/wp-content/plugins/advanced-custom-fields-pro/acf.php(350): do_action("acf/init", 6)
#19 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(308): ACF->init("")
#20 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(332): WP_Hook->apply_filters(NULL, (Array:1))
#21 /home/wpcvrc/public_html/wp-includes/plugin.php(517): WP_Hook->do_action((Array:1))
#22 /home/wpcvrc/public_html/wp-settings.php(617): do_action("init")
#23 /home/wpcvrc/public_html/wp-config.php(118): require_once("/home/wpcvrc/public_html/wp-settings.php")
#24 /home/wpcvrc/public_html/wp-load.php(50): require_once("/home/wpcvrc/public_html/wp-config.php")
#25 /home/wpcvrc/public_html/wp-blog-header.php(13): require_once("/home/wpcvrc/public_html/wp-load.php")
#26 /home/wpcvrc/public_html/index.php(17): require("/home/wpcvrc/public_html/wp-blog-header.php")
#27 {main}


Feb 21 18:49:48  [debug] $API Request Authorization failed = #0 /home/wpcvrc/public_html/wp-content/plugins/civicrm/civicrm/Civi/API/Kernel.php(153): CRM_Core_Error::backtrace("API Request Authorization failed", TRUE)
#1 /home/wpcvrc/public_html/wp-content/plugins/civicrm/civicrm/Civi/API/Kernel.php(81): Civi\API\Kernel->runRequest((Array:8))
#2 /home/wpcvrc/public_html/wp-content/plugins/civicrm/civicrm/api/api.php(22): Civi\API\Kernel->runSafe("Event", "get", (Array:5))
#3 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/classes/cwps-acf-event-location.php(406): civicrm_api("Event", "get", (Array:5))
#4 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/acfe/form-actions/cwps-acf-acfe-form-action-event.php(1037): CiviCRM_Profile_Sync_ACF_CiviCRM_Event_Location->get_all()
#5 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/acfe/form-actions/cwps-acf-acfe-form-action-event.php(556): CiviCRM_Profile_Sync_ACF_ACFE_Form_Action_Event->tab_mapping_accordion_location_add()
#6 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/acfe/form-actions/cwps-acf-acfe-form-action-base.php(239): CiviCRM_Profile_Sync_ACF_ACFE_Form_Action_Event->tab_mapping_add()
#7 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(308): CiviCRM_Profile_Sync_ACF_ACFE_Form_Action_Base->action_add((Array:10))
#8 /home/wpcvrc/public_html/wp-includes/plugin.php(205): WP_Hook->apply_filters((Array:10), (Array:1))
#9 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/modules/form/module-form.php(667): apply_filters("acfe/form/actions", (Array:0))
#10 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/module-legacy.php(32): acfe_dynamic_forms->add_local_field_group()
#11 /home/wpcvrc/public_html/wp-content/plugins/advanced-custom-fields-pro/includes/acf-utility-functions.php(23): acfe_dynamic_module->__construct()
#12 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/modules/form/module-form.php(1839): acf_new_instance("acfe_dynamic_forms")
#13 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/init.php(40): include_once("/home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/modules...")
#14 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/acf-extended.php(279): acfe_include("includes/modules/form/module-form.php")
#15 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(308): ACFE->init(6)
#16 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(332): WP_Hook->apply_filters(NULL, (Array:1))
#17 /home/wpcvrc/public_html/wp-includes/plugin.php(517): WP_Hook->do_action((Array:1))
#18 /home/wpcvrc/public_html/wp-content/plugins/advanced-custom-fields-pro/acf.php(350): do_action("acf/init", 6)
#19 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(308): ACF->init("")
#20 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(332): WP_Hook->apply_filters(NULL, (Array:1))
#21 /home/wpcvrc/public_html/wp-includes/plugin.php(517): WP_Hook->do_action((Array:1))
#22 /home/wpcvrc/public_html/wp-settings.php(617): do_action("init")
#23 /home/wpcvrc/public_html/wp-config.php(118): require_once("/home/wpcvrc/public_html/wp-settings.php")
#24 /home/wpcvrc/public_html/wp-load.php(50): require_once("/home/wpcvrc/public_html/wp-config.php")
#25 /home/wpcvrc/public_html/wp-blog-header.php(13): require_once("/home/wpcvrc/public_html/wp-load.php")
#26 /home/wpcvrc/public_html/index.php(17): require("/home/wpcvrc/public_html/wp-blog-header.php")
#27 {main}


Feb 21 18:51:06  [debug] $API Request Authorization failed = #0 /home/wpcvrc/public_html/wp-content/plugins/civicrm/civicrm/Civi/API/Kernel.php(153): CRM_Core_Error::backtrace("API Request Authorization failed", TRUE)
#1 /home/wpcvrc/public_html/wp-content/plugins/civicrm/civicrm/Civi/API/Kernel.php(81): Civi\API\Kernel->runRequest((Array:8))
#2 /home/wpcvrc/public_html/wp-content/plugins/civicrm/civicrm/api/api.php(22): Civi\API\Kernel->runSafe("Event", "get", (Array:5))
#3 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/classes/cwps-acf-event-location.php(406): civicrm_api("Event", "get", (Array:5))
#4 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/acfe/form-actions/cwps-acf-acfe-form-action-event.php(1037): CiviCRM_Profile_Sync_ACF_CiviCRM_Event_Location->get_all()
#5 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/acfe/form-actions/cwps-acf-acfe-form-action-event.php(556): CiviCRM_Profile_Sync_ACF_ACFE_Form_Action_Event->tab_mapping_accordion_location_add()
#6 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/acfe/form-actions/cwps-acf-acfe-form-action-base.php(239): CiviCRM_Profile_Sync_ACF_ACFE_Form_Action_Event->tab_mapping_add()
#7 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(308): CiviCRM_Profile_Sync_ACF_ACFE_Form_Action_Base->action_add((Array:10))
#8 /home/wpcvrc/public_html/wp-includes/plugin.php(205): WP_Hook->apply_filters((Array:10), (Array:1))
#9 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/modules/form/module-form.php(667): apply_filters("acfe/form/actions", (Array:0))
#10 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/module-legacy.php(32): acfe_dynamic_forms->add_local_field_group()
#11 /home/wpcvrc/public_html/wp-content/plugins/advanced-custom-fields-pro/includes/acf-utility-functions.php(23): acfe_dynamic_module->__construct()
#12 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/modules/form/module-form.php(1839): acf_new_instance("acfe_dynamic_forms")
#13 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/init.php(40): include_once("/home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/modules...")
#14 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/acf-extended.php(279): acfe_include("includes/modules/form/module-form.php")
#15 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(308): ACFE->init(6)
#16 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(332): WP_Hook->apply_filters(NULL, (Array:1))
#17 /home/wpcvrc/public_html/wp-includes/plugin.php(517): WP_Hook->do_action((Array:1))
#18 /home/wpcvrc/public_html/wp-content/plugins/advanced-custom-fields-pro/acf.php(350): do_action("acf/init", 6)
#19 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(308): ACF->init("")
#20 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(332): WP_Hook->apply_filters(NULL, (Array:1))
#21 /home/wpcvrc/public_html/wp-includes/plugin.php(517): WP_Hook->do_action((Array:1))
#22 /home/wpcvrc/public_html/wp-settings.php(617): do_action("init")
#23 /home/wpcvrc/public_html/wp-config.php(118): require_once("/home/wpcvrc/public_html/wp-settings.php")
#24 /home/wpcvrc/public_html/wp-load.php(50): require_once("/home/wpcvrc/public_html/wp-config.php")
#25 /home/wpcvrc/public_html/wp-cron.php(46): require_once("/home/wpcvrc/public_html/wp-load.php")
#26 {main}


Feb 21 18:52:51  [debug] $API Request Authorization failed = #0 /home/wpcvrc/public_html/wp-content/plugins/civicrm/civicrm/Civi/API/Kernel.php(153): CRM_Core_Error::backtrace("API Request Authorization failed", TRUE)
#1 /home/wpcvrc/public_html/wp-content/plugins/civicrm/civicrm/Civi/API/Kernel.php(81): Civi\API\Kernel->runRequest((Array:8))
#2 /home/wpcvrc/public_html/wp-content/plugins/civicrm/civicrm/api/api.php(22): Civi\API\Kernel->runSafe("Event", "get", (Array:5))
#3 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/classes/cwps-acf-event-location.php(406): civicrm_api("Event", "get", (Array:5))
#4 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/acfe/form-actions/cwps-acf-acfe-form-action-event.php(1037): CiviCRM_Profile_Sync_ACF_CiviCRM_Event_Location->get_all()
#5 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/acfe/form-actions/cwps-acf-acfe-form-action-event.php(556): CiviCRM_Profile_Sync_ACF_ACFE_Form_Action_Event->tab_mapping_accordion_location_add()
#6 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/acfe/form-actions/cwps-acf-acfe-form-action-base.php(239): CiviCRM_Profile_Sync_ACF_ACFE_Form_Action_Event->tab_mapping_add()
#7 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(308): CiviCRM_Profile_Sync_ACF_ACFE_Form_Action_Base->action_add((Array:10))
#8 /home/wpcvrc/public_html/wp-includes/plugin.php(205): WP_Hook->apply_filters((Array:10), (Array:1))
#9 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/modules/form/module-form.php(667): apply_filters("acfe/form/actions", (Array:0))
#10 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/module-legacy.php(32): acfe_dynamic_forms->add_local_field_group()
#11 /home/wpcvrc/public_html/wp-content/plugins/advanced-custom-fields-pro/includes/acf-utility-functions.php(23): acfe_dynamic_module->__construct()
#12 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/modules/form/module-form.php(1839): acf_new_instance("acfe_dynamic_forms")
#13 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/init.php(40): include_once("/home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/modules...")
#14 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/acf-extended.php(279): acfe_include("includes/modules/form/module-form.php")
#15 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(308): ACFE->init(6)
#16 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(332): WP_Hook->apply_filters(NULL, (Array:1))
#17 /home/wpcvrc/public_html/wp-includes/plugin.php(517): WP_Hook->do_action((Array:1))
#18 /home/wpcvrc/public_html/wp-content/plugins/advanced-custom-fields-pro/acf.php(350): do_action("acf/init", 6)
#19 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(308): ACF->init("")
#20 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(332): WP_Hook->apply_filters(NULL, (Array:1))
#21 /home/wpcvrc/public_html/wp-includes/plugin.php(517): WP_Hook->do_action((Array:1))
#22 /home/wpcvrc/public_html/wp-settings.php(617): do_action("init")
#23 /home/wpcvrc/public_html/wp-config.php(118): require_once("/home/wpcvrc/public_html/wp-settings.php")
#24 /home/wpcvrc/public_html/wp-load.php(50): require_once("/home/wpcvrc/public_html/wp-config.php")
#25 /home/wpcvrc/public_html/wp-cron.php(46): require_once("/home/wpcvrc/public_html/wp-load.php")
#26 {main}


Feb 21 18:52:52  [debug] $API Request Authorization failed = #0 /home/wpcvrc/public_html/wp-content/plugins/civicrm/civicrm/Civi/API/Kernel.php(153): CRM_Core_Error::backtrace("API Request Authorization failed", TRUE)
#1 /home/wpcvrc/public_html/wp-content/plugins/civicrm/civicrm/Civi/API/Kernel.php(81): Civi\API\Kernel->runRequest((Array:8))
#2 /home/wpcvrc/public_html/wp-content/plugins/civicrm/civicrm/api/api.php(22): Civi\API\Kernel->runSafe("Event", "get", (Array:5))
#3 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/classes/cwps-acf-event-location.php(406): civicrm_api("Event", "get", (Array:5))
#4 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/acfe/form-actions/cwps-acf-acfe-form-action-event.php(1037): CiviCRM_Profile_Sync_ACF_CiviCRM_Event_Location->get_all()
#5 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/acfe/form-actions/cwps-acf-acfe-form-action-event.php(556): CiviCRM_Profile_Sync_ACF_ACFE_Form_Action_Event->tab_mapping_accordion_location_add()
#6 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/acfe/form-actions/cwps-acf-acfe-form-action-base.php(239): CiviCRM_Profile_Sync_ACF_ACFE_Form_Action_Event->tab_mapping_add()
#7 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(308): CiviCRM_Profile_Sync_ACF_ACFE_Form_Action_Base->action_add((Array:10))
#8 /home/wpcvrc/public_html/wp-includes/plugin.php(205): WP_Hook->apply_filters((Array:10), (Array:1))
#9 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/modules/form/module-form.php(667): apply_filters("acfe/form/actions", (Array:0))
#10 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/module-legacy.php(32): acfe_dynamic_forms->add_local_field_group()
#11 /home/wpcvrc/public_html/wp-content/plugins/advanced-custom-fields-pro/includes/acf-utility-functions.php(23): acfe_dynamic_module->__construct()
#12 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/modules/form/module-form.php(1839): acf_new_instance("acfe_dynamic_forms")
#13 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/init.php(40): include_once("/home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/modules...")
#14 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/acf-extended.php(279): acfe_include("includes/modules/form/module-form.php")
#15 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(308): ACFE->init(6)
#16 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(332): WP_Hook->apply_filters(NULL, (Array:1))
#17 /home/wpcvrc/public_html/wp-includes/plugin.php(517): WP_Hook->do_action((Array:1))
#18 /home/wpcvrc/public_html/wp-content/plugins/advanced-custom-fields-pro/acf.php(350): do_action("acf/init", 6)
#19 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(308): ACF->init("")
#20 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(332): WP_Hook->apply_filters(NULL, (Array:1))
#21 /home/wpcvrc/public_html/wp-includes/plugin.php(517): WP_Hook->do_action((Array:1))
#22 /home/wpcvrc/public_html/wp-settings.php(617): do_action("init")
#23 /home/wpcvrc/public_html/wp-config.php(118): require_once("/home/wpcvrc/public_html/wp-settings.php")
#24 /home/wpcvrc/public_html/wp-load.php(50): require_once("/home/wpcvrc/public_html/wp-config.php")
#25 /home/wpcvrc/public_html/wp-blog-header.php(13): require_once("/home/wpcvrc/public_html/wp-load.php")
#26 /home/wpcvrc/public_html/index.php(17): require("/home/wpcvrc/public_html/wp-blog-header.php")
#27 {main}


Feb 21 18:52:52  [debug] $API Request Authorization failed = #0 /home/wpcvrc/public_html/wp-content/plugins/civicrm/civicrm/Civi/API/Kernel.php(153): CRM_Core_Error::backtrace("API Request Authorization failed", TRUE)
#1 /home/wpcvrc/public_html/wp-content/plugins/civicrm/civicrm/Civi/API/Kernel.php(81): Civi\API\Kernel->runRequest((Array:8))
#2 /home/wpcvrc/public_html/wp-content/plugins/civicrm/civicrm/api/api.php(22): Civi\API\Kernel->runSafe("Event", "get", (Array:5))
#3 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/classes/cwps-acf-event-location.php(406): civicrm_api("Event", "get", (Array:5))
#4 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/acfe/form-actions/cwps-acf-acfe-form-action-event.php(1037): CiviCRM_Profile_Sync_ACF_CiviCRM_Event_Location->get_all()
#5 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/acfe/form-actions/cwps-acf-acfe-form-action-event.php(556): CiviCRM_Profile_Sync_ACF_ACFE_Form_Action_Event->tab_mapping_accordion_location_add()
#6 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/acfe/form-actions/cwps-acf-acfe-form-action-base.php(239): CiviCRM_Profile_Sync_ACF_ACFE_Form_Action_Event->tab_mapping_add()
#7 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(308): CiviCRM_Profile_Sync_ACF_ACFE_Form_Action_Base->action_add((Array:10))
#8 /home/wpcvrc/public_html/wp-includes/plugin.php(205): WP_Hook->apply_filters((Array:10), (Array:1))
#9 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/modules/form/module-form.php(667): apply_filters("acfe/form/actions", (Array:0))
#10 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/module-legacy.php(32): acfe_dynamic_forms->add_local_field_group()
#11 /home/wpcvrc/public_html/wp-content/plugins/advanced-custom-fields-pro/includes/acf-utility-functions.php(23): acfe_dynamic_module->__construct()
#12 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/modules/form/module-form.php(1839): acf_new_instance("acfe_dynamic_forms")
#13 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/init.php(40): include_once("/home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/modules...")
#14 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/acf-extended.php(279): acfe_include("includes/modules/form/module-form.php")
#15 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(308): ACFE->init(6)
#16 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(332): WP_Hook->apply_filters(NULL, (Array:1))
#17 /home/wpcvrc/public_html/wp-includes/plugin.php(517): WP_Hook->do_action((Array:1))
#18 /home/wpcvrc/public_html/wp-content/plugins/advanced-custom-fields-pro/acf.php(350): do_action("acf/init", 6)
#19 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(308): ACF->init("")
#20 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(332): WP_Hook->apply_filters(NULL, (Array:1))
#21 /home/wpcvrc/public_html/wp-includes/plugin.php(517): WP_Hook->do_action((Array:1))
#22 /home/wpcvrc/public_html/wp-settings.php(617): do_action("init")
#23 /home/wpcvrc/public_html/wp-config.php(118): require_once("/home/wpcvrc/public_html/wp-settings.php")
#24 /home/wpcvrc/public_html/wp-load.php(50): require_once("/home/wpcvrc/public_html/wp-config.php")
#25 /home/wpcvrc/public_html/wp-blog-header.php(13): require_once("/home/wpcvrc/public_html/wp-load.php")
#26 /home/wpcvrc/public_html/index.php(17): require("/home/wpcvrc/public_html/wp-blog-header.php")
#27 {main}


Feb 21 18:52:52  [debug] $API Request Authorization failed = #0 /home/wpcvrc/public_html/wp-content/plugins/civicrm/civicrm/Civi/API/Kernel.php(153): CRM_Core_Error::backtrace("API Request Authorization failed", TRUE)
#1 /home/wpcvrc/public_html/wp-content/plugins/civicrm/civicrm/Civi/API/Kernel.php(81): Civi\API\Kernel->runRequest((Array:8))
#2 /home/wpcvrc/public_html/wp-content/plugins/civicrm/civicrm/api/api.php(22): Civi\API\Kernel->runSafe("Event", "get", (Array:5))
#3 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/classes/cwps-acf-event-location.php(406): civicrm_api("Event", "get", (Array:5))
#4 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/acfe/form-actions/cwps-acf-acfe-form-action-event.php(1037): CiviCRM_Profile_Sync_ACF_CiviCRM_Event_Location->get_all()
#5 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/acfe/form-actions/cwps-acf-acfe-form-action-event.php(556): CiviCRM_Profile_Sync_ACF_ACFE_Form_Action_Event->tab_mapping_accordion_location_add()
#6 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/acfe/form-actions/cwps-acf-acfe-form-action-base.php(239): CiviCRM_Profile_Sync_ACF_ACFE_Form_Action_Event->tab_mapping_add()
#7 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(308): CiviCRM_Profile_Sync_ACF_ACFE_Form_Action_Base->action_add((Array:10))
#8 /home/wpcvrc/public_html/wp-includes/plugin.php(205): WP_Hook->apply_filters((Array:10), (Array:1))
#9 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/modules/form/module-form.php(667): apply_filters("acfe/form/actions", (Array:0))
#10 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/module-legacy.php(32): acfe_dynamic_forms->add_local_field_group()
#11 /home/wpcvrc/public_html/wp-content/plugins/advanced-custom-fields-pro/includes/acf-utility-functions.php(23): acfe_dynamic_module->__construct()
#12 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/modules/form/module-form.php(1839): acf_new_instance("acfe_dynamic_forms")
#13 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/init.php(40): include_once("/home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/includes/modules...")
#14 /home/wpcvrc/public_html/wp-content/plugins/acf-extended-pro/acf-extended.php(279): acfe_include("includes/modules/form/module-form.php")
#15 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(308): ACFE->init(6)
#16 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(332): WP_Hook->apply_filters(NULL, (Array:1))
#17 /home/wpcvrc/public_html/wp-includes/plugin.php(517): WP_Hook->do_action((Array:1))
#18 /home/wpcvrc/public_html/wp-content/plugins/advanced-custom-fields-pro/acf.php(350): do_action("acf/init", 6)
#19 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(308): ACF->init("")
#20 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(332): WP_Hook->apply_filters(NULL, (Array:1))
#21 /home/wpcvrc/public_html/wp-includes/plugin.php(517): WP_Hook->do_action((Array:1))
#22 /home/wpcvrc/public_html/wp-settings.php(617): do_action("init")
#23 /home/wpcvrc/public_html/wp-config.php(118): require_once("/home/wpcvrc/public_html/wp-settings.php")
#24 /home/wpcvrc/public_html/wp-load.php(50): require_once("/home/wpcvrc/public_html/wp-config.php")
#25 /home/wpcvrc/public_html/wp-blog-header.php(13): require_once("/home/wpcvrc/public_html/wp-load.php")
#26 /home/wpcvrc/public_html/index.php(17): require("/home/wpcvrc/public_html/wp-blog-header.php")
#27 {main}

With standard ACFE

Feb 21 18:57:23  [debug] $API Request Authorization failed = #0 /home/wpcvrc/public_html/wp-content/plugins/civicrm/civicrm/Civi/API/Kernel.php(153): CRM_Core_Error::backtrace("API Request Authorization failed", TRUE)
#1 /home/wpcvrc/public_html/wp-content/plugins/civicrm/civicrm/Civi/API/Kernel.php(81): Civi\API\Kernel->runRequest((Array:8))
#2 /home/wpcvrc/public_html/wp-content/plugins/civicrm/civicrm/api/api.php(22): Civi\API\Kernel->runSafe("Event", "get", (Array:5))
#3 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/classes/cwps-acf-event-location.php(406): civicrm_api("Event", "get", (Array:5))
#4 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/acfe/form-actions/cwps-acf-acfe-form-action-event.php(1037): CiviCRM_Profile_Sync_ACF_CiviCRM_Event_Location->get_all()
#5 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/acfe/form-actions/cwps-acf-acfe-form-action-event.php(556): CiviCRM_Profile_Sync_ACF_ACFE_Form_Action_Event->tab_mapping_accordion_location_add()
#6 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/acfe/form-actions/cwps-acf-acfe-form-action-base.php(239): CiviCRM_Profile_Sync_ACF_ACFE_Form_Action_Event->tab_mapping_add()
#7 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(308): CiviCRM_Profile_Sync_ACF_ACFE_Form_Action_Base->action_add((Array:9))
#8 /home/wpcvrc/public_html/wp-includes/plugin.php(205): WP_Hook->apply_filters((Array:9), (Array:1))
#9 /home/wpcvrc/public_html/wp-content/plugins/acf-extended/includes/modules/form/module-form.php(667): apply_filters("acfe/form/actions", (Array:0))
#10 /home/wpcvrc/public_html/wp-content/plugins/acf-extended/includes/module-legacy.php(32): acfe_dynamic_forms->add_local_field_group()
#11 /home/wpcvrc/public_html/wp-content/plugins/advanced-custom-fields-pro/includes/acf-utility-functions.php(23): acfe_dynamic_module->__construct()
#12 /home/wpcvrc/public_html/wp-content/plugins/acf-extended/includes/modules/form/module-form.php(1839): acf_new_instance("acfe_dynamic_forms")
#13 /home/wpcvrc/public_html/wp-content/plugins/acf-extended/includes/init.php(40): include_once("/home/wpcvrc/public_html/wp-content/plugins/acf-extended/includes/modules/for...")
#14 /home/wpcvrc/public_html/wp-content/plugins/acf-extended/acf-extended.php(276): acfe_include("includes/modules/form/module-form.php")
#15 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(308): ACFE->init(6)
#16 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(332): WP_Hook->apply_filters(NULL, (Array:1))
#17 /home/wpcvrc/public_html/wp-includes/plugin.php(517): WP_Hook->do_action((Array:1))
#18 /home/wpcvrc/public_html/wp-content/plugins/advanced-custom-fields-pro/acf.php(350): do_action("acf/init", 6)
#19 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(308): ACF->init("")
#20 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(332): WP_Hook->apply_filters(NULL, (Array:1))
#21 /home/wpcvrc/public_html/wp-includes/plugin.php(517): WP_Hook->do_action((Array:1))
#22 /home/wpcvrc/public_html/wp-settings.php(617): do_action("init")
#23 /home/wpcvrc/public_html/wp-config.php(118): require_once("/home/wpcvrc/public_html/wp-settings.php")
#24 /home/wpcvrc/public_html/wp-load.php(50): require_once("/home/wpcvrc/public_html/wp-config.php")
#25 /home/wpcvrc/public_html/wp-blog-header.php(13): require_once("/home/wpcvrc/public_html/wp-load.php")
#26 /home/wpcvrc/public_html/index.php(17): require("/home/wpcvrc/public_html/wp-blog-header.php")
#27 {main}


Feb 21 18:57:25  [debug] $API Request Authorization failed = #0 /home/wpcvrc/public_html/wp-content/plugins/civicrm/civicrm/Civi/API/Kernel.php(153): CRM_Core_Error::backtrace("API Request Authorization failed", TRUE)
#1 /home/wpcvrc/public_html/wp-content/plugins/civicrm/civicrm/Civi/API/Kernel.php(81): Civi\API\Kernel->runRequest((Array:8))
#2 /home/wpcvrc/public_html/wp-content/plugins/civicrm/civicrm/api/api.php(22): Civi\API\Kernel->runSafe("Event", "get", (Array:5))
#3 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/classes/cwps-acf-event-location.php(406): civicrm_api("Event", "get", (Array:5))
#4 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/acfe/form-actions/cwps-acf-acfe-form-action-event.php(1037): CiviCRM_Profile_Sync_ACF_CiviCRM_Event_Location->get_all()
#5 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/acfe/form-actions/cwps-acf-acfe-form-action-event.php(556): CiviCRM_Profile_Sync_ACF_ACFE_Form_Action_Event->tab_mapping_accordion_location_add()
#6 /home/wpcvrc/public_html/wp-content/plugins/civicrm-wp-profile-sync/includes/acf/acfe/form-actions/cwps-acf-acfe-form-action-base.php(239): CiviCRM_Profile_Sync_ACF_ACFE_Form_Action_Event->tab_mapping_add()
#7 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(308): CiviCRM_Profile_Sync_ACF_ACFE_Form_Action_Base->action_add((Array:9))
#8 /home/wpcvrc/public_html/wp-includes/plugin.php(205): WP_Hook->apply_filters((Array:9), (Array:1))
#9 /home/wpcvrc/public_html/wp-content/plugins/acf-extended/includes/modules/form/module-form.php(667): apply_filters("acfe/form/actions", (Array:0))
#10 /home/wpcvrc/public_html/wp-content/plugins/acf-extended/includes/module-legacy.php(32): acfe_dynamic_forms->add_local_field_group()
#11 /home/wpcvrc/public_html/wp-content/plugins/advanced-custom-fields-pro/includes/acf-utility-functions.php(23): acfe_dynamic_module->__construct()
#12 /home/wpcvrc/public_html/wp-content/plugins/acf-extended/includes/modules/form/module-form.php(1839): acf_new_instance("acfe_dynamic_forms")
#13 /home/wpcvrc/public_html/wp-content/plugins/acf-extended/includes/init.php(40): include_once("/home/wpcvrc/public_html/wp-content/plugins/acf-extended/includes/modules/for...")
#14 /home/wpcvrc/public_html/wp-content/plugins/acf-extended/acf-extended.php(276): acfe_include("includes/modules/form/module-form.php")
#15 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(308): ACFE->init(6)
#16 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(332): WP_Hook->apply_filters(NULL, (Array:1))
#17 /home/wpcvrc/public_html/wp-includes/plugin.php(517): WP_Hook->do_action((Array:1))
#18 /home/wpcvrc/public_html/wp-content/plugins/advanced-custom-fields-pro/acf.php(350): do_action("acf/init", 6)
#19 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(308): ACF->init("")
#20 /home/wpcvrc/public_html/wp-includes/class-wp-hook.php(332): WP_Hook->apply_filters(NULL, (Array:1))
#21 /home/wpcvrc/public_html/wp-includes/plugin.php(517): WP_Hook->do_action((Array:1))
#22 /home/wpcvrc/public_html/wp-settings.php(617): do_action("init")
#23 /home/wpcvrc/public_html/wp-config.php(118): require_once("/home/wpcvrc/public_html/wp-settings.php")
#24 /home/wpcvrc/public_html/wp-load.php(50): require_once("/home/wpcvrc/public_html/wp-config.php")
#25 /home/wpcvrc/public_html/wp-cron.php(46): require_once("/home/wpcvrc/public_html/wp-load.php")
#26 {main}

I have not set up anything at all in ACF or ACFE, I have not linked anything between WP - ACF - CiviCRM

Can you advise why ACF and ACF are syncing (or trying to) as soon as activated alongside profile sync?

What can be done to correct this?

Primary Email update

I have had an issue a couple of times where updating the primary email address for a contact doesn't update the corresponding WP user. It doesn't happen often, but does occur at times. Not sure if there are circumstances where this could occur that maybe I should be aware of.

One issue that seems to always be a problem is the UFMatch record. When updating a primary email on the contact, while the WP profile is updated to match, the UFMatch is not updated,

We use WPCivieRules to add WP Users on certain CiviRule actions. This extension provides a token to pass the username (UFMatch.name) property into emails or invoices. But when the primary email address is updated, the UFMatch.name doesn't get updated and can cause some issues with the use of the token.

Shouldn't the UFMatch.name be updated as well since this is the email that ideally is associated with the WP user?

Sync contact membership data to Acf field

Hi there,

I've seen you started to merge civi-acf with this plug-in !
And this opens the way to sync contact to users ! Awesome, seriously you rock !

This is great as we can even sync Civi-custom field !

I realize that this "civi-acf" integration is still a recent project, which has already gone a long way, but there is one Civi feature that seems central, at least in my needs), and that is not covered yet, membership. Ok I'm just throwing a bottle.

Civicrm-ux provide fex shortcode to display memberhsip data, and Caldera-cf provide a processor to create the membership, which is great. However the experience I have with civi-acf let me belive in a much finer integration, so I'm writing it down :)
(I could detail the bits I have in mind if you want)

This said, that you very much for this excellent plug-in, or should I say all of these excellent plug-inS !

Cheers

Feature Request: Hooks

Can we get a couple of hooks so we can tie into this plugin for custom requirements?

I have a number of use cases where I sync the CiviCRM Profile Image to WP and it would be gtreat to hook into this plugin rather than keep using my own.

In addition, I am looking at syncing User Taxonomies (I know, don't judge) to Custom Fields on the Contact record. Would be great to have a hook fire to run our code when this runs.

Thanks for all the work on this.

Kevin

Contact action : Not enough data to save a Contact

Hi there,

I'm digging into the (no so) new acfe form feature to access/write civicrm data, and I'm stuck at the very start ?!

Basically I've created an acf group with three fields firstname, lastname and email, and I have added the location rule for acfe entity individual.

Then I've created the acfe form and added one contact action, and have mapped my fields.
Note that I have tried with and without email. with and without deduping

For testing purpose, I have also tried to checked "Auto-fill with data from CiviCRM", and my field are properly populated when I'm logged in.

Whatever I do, I get this error message, saying that "Échec de la validation. Not enough data to save a Contact in "contact1"."
contact1 being the contact action name.

I have checked in the code why, and found something on this script between lines 3779 and 3812

But to my understanding, for an individual, only either a first and last name, or a display name are required ?!
I have tried the same for an organization, setting the acf group location and form accordingly, but without success

It keeps failing with this error message, and I really don't get why ?

I have probably missed something big and lame, but I've already spent a couple of hours trying to fix this without success.

I would appreciate if you could guide me through that :)

Thank's in advance
Regards

Bi-directional-Sync works but if wp-post created first, no civi-contact are created

Hi there

I've set up this plug on on a site that already had cpt, but no civi untill now, and have one case where civi-contact creation do not occurs

In my case I intend to sync Wp-User <=> Civi-Contact <=> Wp-Post

  • if I create a Wp-user :

    • the Civi-Contact is created
    • the Wp-Post as well !!! Awesome this is awesome !
  • if I create a Civi-Contact :

    • a Wp-post is created,
    • and I have the option to create a User from the Civi-Contact page !!! this is also awesome
  • if I create a Wp-Post,

    • the Civi-Contact is not created :(
    • obviously the user neither (but we don't expect that)
  • if I edit a user/contact.post :

    • everything syncs if the post already has it's civi contact counter part
    • otherwise the post is not sync (both from civi of wp)

I can't explain why it comes from ? I've enable wp-debug, but nothing pops

Do you have any ideas where could I look to fing a clue and fix this ?

thank's in advance

Note that's I'm on a wp multisite

Here are my "versions"
wp 5.8.1
civi 5.41 : active on site by site basis
civicrm-wp-profle-sync : latest commit, active on site by site basis
civicrm admin utilities : latest commit, active network wide

Multiple issues with the Image field in ACFE form

Hi Christian,

Our team has been using your plugin for some time now but recently have run into some issues.

I have created an ACFE form for a WordPress user to update both their WordPress profile and their CiviCRM profile.

One of the form's fields is an ACFE Image field that maps to the CiviCRM contact field: Image URL, which we use to display a CiviCRM contact's profile picture.

I have encountered some issues when the image field is synced to CiviCRM Image URL contact field when configuring this field on ACFE:

  1. When selecting the Return Format as Image ID, the ACFE form when embedded into a WordPress page returns Image URL
  2. When selecting Uploader Type as WordPress and subsequently selecting the Library to Uploaded to post, the form returns the entire WordPress site's media library to the user when they are only supposed to be limited to only see their uploads.
    This is due to configuration never saving the setting 'Uploaded to post' and reverting back to the 'All' option each time the field group is saved.
  3. Users can upload an image to the form, but they don't have a way of deleting that image from within the form.

Please note, the first two issues don't occur when the Image field is not mapped to CiviCRM and the form has no CiviCRM actions.

Images below for context:

image

Example of WP URL

Cheers,

Vivien

Contact deletion: sync do not occur when Users are bulk deleted in WordPress

Hi christian

I've just realised that when the WP-CPT are deleted one by one in wp, their synced contact is also deleted in civi (soft deleted)
But when WP-CPT are deleted in bulk in wp, their synced contact is not deleted in civi (soft deleted).

I know there are "dangers" to sync deletion, but this behavior it fooled me.

Is it intentional from you to only sync "one by one deletion" ?

Thank's

EDIT -- hold on

I realise the above stands only when the contact also has a user acount, not if it is only a CPT+contact.

I'll re-think about this question before getting back to you
Cheers

Contact type on user creation

Hi @christianwach

I have a question, which might turn to be bigger than an simple question, but here it is.

In my set up I do use three types of Civi-contact :

  • the built in individual type
  • a custom organization named "institution", and
  • a custom organization named "lab"

When a user is created in wordpress, civicrm-wp-profile sync will create the linked civi-contact, that's great. Out of the box it is an individual and it's fine most of the time in my use case, but sometimes I need to specify the civi-contact-type that I want. At the moment, I haven't found any way to achieve that, have I missed something ?

I agree that there is always "someone" acting so a "person" which is ultimately an individual, but one may act in the name of an organization, and want to handle a user account which is not his personal account but the one of his organization.

One workaround could be to create the organization in civi first, then create the user account from civi. Thecnically it works, but the organization can't create their own wp-account by themselves, which is kind of a shame.

Another workaround I could think of, but fails, would be to create the institution first, then the wp-user from wp-admin. In this case civicrm-wp-profile-sync create a new individual civi-contact. It happends as if civicrm-wp-profile-sync only use dedup rules against individuals, not organizations.

A ultimate workaround could be to create the wp-user first, then change the contact type in civi thank's to the civi extention contact-editor. II've tired but the plug-returns that "The contact has custom data that is not valid for the new type, and I indeed use civi custom field for individuals.
it requires to monitor account-creation and check whether it should be an individual or an organization and do a manual edit accordingly, which is kind of the worst scenario.

At this stage I don't see any other solution, but I may have missed something !

With further development, of the plug-in, I could see an extra field on the wp-user account with a radio selector that enable us to select the type of contact we want to create/be-synced (it's ok if the radio selector is not editable once the account created, and switching contact type remain handeled in civi). Adding this radio selector is simple using civi acf fields, but it still requires civicrm-wp-profile-sync to check the value of this field and act accordingly. At first glance it seems enough to address this use case, especially if this field can be set in a custom form to create account.

Maybe you've already thought of this use case and have an other workflow to handle it, I would be curious to hear it :)

Cheers

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.