Process of elimination
Ever find yourself up against a weird problem in CiviCRM (or WordPress, or Drupal, or any other system you rely on)?
Usually in a complex system, the your stubborn weird problem could be caused by any number of things:
Permissions problems, conflicts with your CMS theme, plugins, extensions, etc., etc.
How can you even know where to start?
The smart answer is:
Start anywhere you like, but find a way to try one thing at a time.
For example, maybe you think your weird problem with custom fields might be caused by one of your extensions:
Try disabling all of the extensions, and see if the problem goes away.
If it doesn't, you can stop wondering about your extensions. Re-enable all of them and check something else.
But if it does, re-enable one or a few of them at a time, until you find the one that's causing the problem.
Or, do you think it's caused by something in the configuration of your contribution page?
Try creating a new contribution page with the most basic of configurations possible, and see if that page has the problem too.
If not, change one or two configurations to match that of your original contribution page. Does your new page now have this problem?
Keep editing the configuration to be more and more like your problem page, testing as you go to see if the new page has the problem.
If the problem never shows up on your new contribution page, you can be sure it's not the page configuration, and move on to checking something else.
Here's the thing:
If you've got a specialist who can look at it for you, you might save yourself a lot of trial and error. The advice of an experienced specialist can go a long way.
But when you don't have someone you can ask, a careful process of elimination is a whole lot better than just remaining mystified.
And the truth is, this kind of elimination process is what a good specialist will do anyway. They'll just do it a lot faster.
All the best,
A.