Why does the image/file upload field change when a user is logged in or not?

Created by Phil Kurth, Modified on Wed, 2 Nov, 2022 at 8:47 AM by Phil Kurth

This discrepancy is due to how ACF handles image uploads in response to WordPress. When a user is logged in or lacks the relevant permissions (I believe the requires capability is upload_files), the default/basic HTML upload field is rendered without the necessary scripts to make it the stylised version which uses the WP media uploader. 

ACF has this logic built into the field rendering logic and it aligns with WordPress' core requirements for using the media library.

The basic HTML upload field does render differently to the stylised version which is why they appear different and require their own CSS to style. You may wish to add some custom CSS for the basic HTML upload field as per this example on CSS-Tricks.

If you prefer to use the basic HTML uploader for a consistent experience for all users, you can configure this in the form args by setting uploader to basic. This will disable the media library UI but doesn't require special permissions or a logged in status. We have examples on how to do so with both the shortcode and the advanced_forms() function here:

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons

Feedback sent

We appreciate your effort and will try to fix the article