The editor tries to load data through the WordPress REST API. It expects a wp_rest nonce that proves the request comes from a logged‑in user. If the nonce is absent or invalid, the REST request is rejected and the editor never finishes loading.
The nonce is printed in the page header by the wp_api script. When a theme or plugin deregisters that script, the nonce never reaches the page. Caching plugins may serve an old version of the page that contains an expired nonce. Security or firewall plugins may block the wp‑json endpoint or strip the X‑WP‑Nonce header.
When the REST API itself is disabled, WordPress returns a 403 or 404 response. The editor receives no valid nonce and shows a perpetual loading spinner. Mixed HTTP/HTTPS URLs also break the verification because the nonce is tied to the origin.
Corrupted core files that generate or verify nonces produce the same error. Out‑of‑date Elementor or Elementor Pro versions use older nonce handling that newer WordPress releases reject.