Due to security concerns, we generally try and keep the WordPress websites we host as up-to-date as possible , both in terms of the WordPress core, plugins and themes.
tinymce is not defined
When I checked the loading history of the page using Chrome’s excellent Developer Tools, I found that the PHP loader for tinymce, called wp-tinymce.php, was giving a 403 error, generally indicative of a permissions issue. I went in to the hosting platform (Plesk) and reset the file permissions but unfortunately, no luck.
I then remembered that for increased security, we had previously used Plesk’s WordPress Security Scan tool which does additional hardening of WordPress.
One of these options affects the wp-includes folder (where TinyMCE resides).
I rolled back this setting and refreshed the post edit page and – sure enough – everything came back to life.
Obviously there is nothing to be done about this as Plesk cannot work around all WordPress functions but its certainly one to look out for.
Note for other platforms
For people hosting WordPress on non Plesk platforms having this issue, I’d strongly recommend easing the permissions on the wp-tinymce.php file first and if still no luck, then on the tinymce folder as a whole.
Urgent/Short Term Work Around
As short term workaround, its worth noting that your content is there, its just not visible – if you click in the editor window and do select all, you should see the content – you can copy this to a different editor to make changes and copy back as a band-aid fix.
Other Possible Solutions
Some other solutions I have heard working for people with this problem:
Add the following to your wp-config.php:
define( 'CONCATENATE_SCRIPTS', false );