I have created some custom fields to collect size data as part of an event registration form. When I first create the fields I am able to include them in a profile and use them on the form. At some point though the profile becomes unable to display them and nothing appears. A regular profile preview just shows an empty box, but if I try to preview a single field in the profile then I see the message "This CiviCRM profile field is view only". enter image description here

However, the field is most definitely not view only: enter image description here enter image description here

I have not found any way to make the fields display again. If I create new ones and use them, they will work for a while and then stop.

The further mystery is how they could be broken after a time? A scheduled job? Most of the enabled tasks are "always" and so I would not expect the form to work very long at all (cron runs every 10 minutes on this site). I wonder about the "clean-up" task since it runs hourly, but I'm at a loss to imagine how that would affect custom fields.

Any thoughts folks?

Running 5.31.1 on Wordpress 5.5.3

  • Is it similar to this? lab.civicrm.org/dev/core/-/issues/1984 or civicrm.stackexchange.com/questions/37652/…
    – Demerit
    Commented Nov 30, 2020 at 15:30
  • @Demerit, those certainly look related, but clearing the cache has not helped. Following those threads I did find a comment that suggested enabling "CiviCRM: access all custom data" for all users. I did that and it started working again. However, that leaves open the question of why it worked for a time. And also why they wouldn't work even for admin.
    – kapn
    Commented Nov 30, 2020 at 16:20
  • The answer to "why it worked for a time" and then "wouldn't work even for admin" - if Demerit is right, then that issue was related to caching - i.e. it was delivering code cached for the wrong role. BTW - I'd post your solution as an answer so that others can try it.
    – Alan Dixon
    Commented Dec 2, 2020 at 16:19

1 Answer 1


Ultimately, the answer was simply to enable "CiviCRM: access all custom data" for all users in Administer->Users & Permissions->Permissions->WordPress Access Control.

I am unclear whether this presents a data risk. The wording of the permission makes it feel a bit like this, but I guess if a user only has limited access by context then it isn't an issue. I am fervently hoping this is so.

The reason it appeared to work at first was related to browser and server caching. As soon as the caches cleared it failed.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.