How to force static assets with HTTP sources to load over HTTPS?

If assets are enqueued properly they are using the exact URL they are enqueued with. If the protocol in URL is hardcoded that causes mismatch issues you are seeing.

For proper protocol support enqueued URLs need to be either:

  • created with protocol-aware API function from WP API (most if not all functions that produce URLs are)
  • using protocol-relative format like //example.com/stylesheet.css

If you the links are coming from third party code you’ll have to unregister and re-register resource accordingly or (worst case scenario if queue is not used) rewrite the code / have original developer do it.