Way to check whether TinyMCE is active in WordPress Way to check whether TinyMCE is active in WordPress wordpress wordpress

Way to check whether TinyMCE is active in WordPress


And... I've answered the question for myself. The conditional you want to test for is as follows:

is_tinyMCE_active = false;if (typeof(tinyMCE) != "undefined") {  if (tinyMCE.activeEditor == null || tinyMCE.activeEditor.isHidden() != false) {    is_tinyMCE_active = true;  }}

The trick is that tinyMCE.activeEditor returns null when TinyMCE isn't activated. You can use the isHidden() method to make sure it isn't executing when you've switched back to HTML editor mode.

This is poorly documented on the TinyMCE website and forums.


Yes, I saw that code on wordpress: ABSPATH/wp-includes/js/autosave.js file

// (bool) is rich editor enabled and activevar rich = (typeof tinyMCE != "undefined") && tinyMCE.activeEditor && !tinyMCE.activeEditor.isHidden();


As this questions ranked in search engines. I think I should extend Daniels answers a little bit to support when we have multiple instances of wordpress editor in a single page.

    var is_editor_active = function(editor_id){        if(typeof tinyMCE == 'undefined'){            return false;        }        if( typeof editor_id == 'undefined' ){            editor = tinyMCE.activeEditor;        }else{            editor = tinyMCE.EditorManager.get(editor_id);        }        if(editor == null){            return false;        }         return !editor.isHidden();    };

Uses

When you only need to check the active editor

if(is_editor_active()){    // do stuff}

If an editor with certain id needed to be checked

if(is_editor_active('mycontent'){    // do stuff}

I hope this little function will be helpful to others :)