Preserved HTML Editor Markup
Explore this tool and check the official listing for its latest features and requirements.
About this tool.
This plugin preserves the user-generated HTML markup in the TinyMCE editor. Unlike other plugins this one allows developers to work in the HTML tab AND end-users to work in the WYSIWYG Visual tab at the same time! No longer will your HTML markup be completely munged into an unrecognizable form when you switch between those tabs. And you don’t have to hang your users/editors out to dry when you hand off the project with a disabled Visual tab.
IMPORTANT: Please read the installation instructions carefully. If you have existing content it will not render properly after activating this plugin until you use the Fix It Tools.
(One user didn’t read or follow these steps and panicked thinking I ruined their website.)
It also supports HTML5 Block Anchor tags in addition to other HTML5 elements, something that is currently not supported in WordPress via any existing plugins.
Version 1.5 will probably be the last version I release for a while since my daughter will be born soon. I’ve added support for full JavaScript code blocks in the HTML tab. They are compatible and preserved when switching to Visual mode. This rounds out the support for almost complete html preservation, with full use of the WYSIWYG editor. And you don’t need to wrap comment codes around it per the recommendations located here: https://codex.wordpress.org/Using_Javascript but you can leave them in if you want.
Version 1.4 was just a minor patch release. User @denl noticed a problem with the plugin CataBlog which implements its own administrative management features by disabling the ‘show_ui’ flag for its custom post type. I was ignoring any custom post type that didn’t have a GUI, but it was an unecessary filter that probably limited other plugins. This fix allows any post type that supports the TinyMCE editor to be “fixed” using the tools under Admin > Settings > Writing.
Since version 1.3 you can now use inline CSS and JavaScript in the HTML editor and everything should be preserved. To be clear, this applies to tags only, like onclick events and style definitions – not script blocks themselves. To enable this feature you must disable the wptexturize and convert_chars filters by adding the following code to your theme’s functions.php :
remove_filter("the_content", "wptexturize"); remove_filter("the_content", "convert_chars");
This new feature is pretty experimental at the moment. I tried to make it compatible with wptexturize but that proved close to impossible without duplicating a lot of core code in my plugin. It’s also not compatible with TinyMCE Advanced when the “stop removing p and br tags” setting is enabled. I’ve tested it on a variety of code samples and I’m pleased with the results but if you find any content that isn’t preserved just open a support ticket and I should be able to fix it.