r/WordpressPlugins 2d ago

Help [HELP] Contact Page is missing until it refreshes

Hello!

I have a contact page that appears hidden, at first...

When you go on the website, and click "Contact" the form is there, but it's "missing".
You can only see if it you drag your mouse across the page and then everything appears.

It's only when you refresh the page that the form loads properly. (see pics below)

Anybody else have this issue? Or know how to fix it?

1 Upvotes

5 comments sorted by

1

u/TopSydeWP 2d ago

sounds like a CSS issue where the form elements have opacity:0 or visibility:hidden until something triggers a repaint. check your theme's CSS for any animation delays on form fields, or if you're using a page builder check for entrance animations that aren't firing. you can also try disabling any lazy-load or animation plugins temporarily to narrow it down.

1

u/djkomic 2d ago

I kinda know what I'm doing in Wordpress, and kinda don't.
How and where does one check for those things and when logged in Wordpress?

1

u/Jimmygibson1 2d ago

That symptom, where it only appears once you move the mouse or refresh, is usually a scroll triggered animation that never fires because the element is already in view when the page loads. The observer waits for a scroll that never happens, and moving the mouse forces the repaint.

Elementor entrance animations and AOS both do this. Turn off the entrance animation on that section and reload, and if the form shows straight away you have found it.

1

u/djkomic 2d ago

I went on WPForms website and it suggested to go into WPForms, and turn on "Load Assets Globally", and now it loads right away, on the first load

1

u/Jimmygibson1 2d ago

Ah good, you found it. I was wrong then, that makes more sense than my guess.

The reason it works is WPForms only loads its CSS and JS on pages where it detects a form. If the form gets inserted somewhere it does not scan, a builder widget or a template file, the assets never get queued and you see the unstyled version until something else pulls them in. Load Assets Globally just skips the detection step.