Lets you disable automatic formatting like smart quotes and automatic paragraph creation, and use raw HTML/JS/CSS code in your posts without WordPress messing it up.
RawHTML will also add new checkboxes to the “Edit Post” screen that let you disable certain WP filters on a per-post basis. This way you can:
- Disable wptexturize (the function that creates smart quotes and other typographic characters).
- Disable automatic paragraph creation.
- Disable image smilies.
- Disable convert_chars (the function that converts ampersands to HTML entities and “fixes” some Unicode characters).
The free version only supports editing posts in the Text tab (called “HTML” in older WordPress versions). Get the Pro version if you want to be able to switch between Text and the Visual editor without WordPress messing up your content.
This plugin doesn’t fully support the Gutenberg editor. As of WordPress 5.0, some Raw HTML features will only work if you use the Classic Editor plugin.
To prevent a part of your post or page from being filtered by WordPress, switch to the Text/HTML editor and wrap it in
<!--raw-->...<!--/raw--> tags. These two versions work exactly the same, except that the latter won’t be visible to your visitors even if you deactivate Raw HTML.
[raw] This is a "test"! [/raw]
In this case, the tags will prevent WordPress from inserting paragraph breaks between “This”, “is” and “a “test””, as well as ensure that the double quotes arround “test” are not converted to typographic (curly) quotes.
To avoid problems, only edit posts that contain your custom code in Text/HTML mode. If you’d like to be able to also use the Visual editor, get the Pro version. It will make the code betwen [raw] tags appear as a read-only placeholder when viewed in Visual mode, ensuring WordPress doesn’t change it.
By default, shortcodes that are inside [raw] tags will not work. They will just show up as plain text. To enable shortcodes, add the
shortcodes=1 attribute to the tag:
[raw shortcodes=1]This [shortcode] will be run.[/raw] [raw]This [shortcode] won't work.[/raw]
[raw] code in excerpts
By default, the plugin will automatically remove any code that’s inside
[raw]...[/raw] tags from post excerpts. You can prevent that by adding the following line to
This will ensure that the plugin doesn’t strip
[raw] blocks from automatically generated excerpts.
Some features of Raw HTML will only work for users who have the “unfiltered_html” capability. In a normal WordPress install that includes the Editor and Administrator roles. In a Multisite install, only the Super Admin has this capability by default.
To install the plugin follow these steps :
- Download the raw-html.zip file to your local machine.
- Go to ‘Plugins -> Add New -> Upload’.
- Upload the zip file using the provided form.
- Activate the plugin through the ‘Plugins’ menu in WordPress
Alternatively, you can search for “Raw HTML” in ‘Plugins -> Add New -> Search’ and install it from there, or unzip raw-html.zip and upload the
raw-html directory to your
What’s the difference between the free version and the Pro version?
If you’re using the free version, switching from Text/HTML to the Visual editor can still mess up your code. The Pro version fixes this.
The way it works is that it replaces
[raw]...[/raw]code with read-only placeholders when viewed via the Visual editor, and restores the original code when you switch to HTML or when the post is displayed your readers. This allows you to switch between HTML and Visual modes without worrying your content will get mangled by WP.
How can I set some of the “Disable xyz” tweaks to be “On” by default?
Open to the post editor and click the “Screen Options” button in the top-right part of the page. A settings panel will appear. Locate the “Raw HTML defaults” section and tick the appropriate checkboxes. Any changes you make to these settings will only affect new and edited posts.
Contributors & Developers
“Raw HTML” is open source software. The following people have contributed to this plugin.Contributors
- Fixed a potential PHP warning about an expression being passed by reference.
- Tested up to WordPress 5.5-alpha.
- Fixed a conflict with Jetpack that could cause the plugin to trigger a fatal error during certain cron jobs.
- Tested up to WordPress 5.3.
- Fixed a conflict with the “AMP Stories” plugin. This fix may also help with current or future conflicts with other plugins that remove the default post filters.
- Added a way to preserve
[raw]blocks in post excerpts.
- Enabled the “Raw HTML” metabox for custom post types.
- Tested up to WP 5.2 (only with the Classic Editor).
- Added limited support for the page builder included with GoodLayers themes (e.g. Mediso).
- Tested with WP 4.8.2 and 4.9-beta1.
- Added a way to run shortcodes inside [raw] tags. To enable shortcodes, add the
shortcodes=1attribute to the tag. Example:
[raw shortcodes=1]some code ... [my-shortcode] ... other code[/raw].
- Fixed a conflict with Events Calendar Pro (+ Community Events add-on). This should also fix conflicts with other plugins that remove default post filters like
- Tested with WP 4.6-beta2.
- Tested with WP 4.5.
- Tested with WP 4.2.
- Fixed a rare “trying to get property of non-object” notice.
- Tested with WP 4.1 and 4.2-alpha.
- Tested with WP 4.0.
- Tested with the release version of WP 3.9.
- Tested up to WP 3.9-alpha.
- Fixed a minor conflict with plugins/themes that run custom queries and then manually apply “the_content” filter to post content.
- Fixed a rare bug where all [raw]…[/raw] blocks in a post would be replaced with the content of the first block.
- Fixed a new conflict with WP-Syntax 1.0.
- Tested with WP 3.5.1 and WP 3.6-beta1.
- Fixed a conflict with WP-Syntax.
- Fixed: Prevent WordPress from wrapping each [raw]…[/raw] block in a paragraph. Doesn’t affect inline [raw] blocks.
- Tested with WP 3.5-beta2.
- Tested with WP 3.4.1
- Fixed the Author URI (was 404).
- Updated the plugin description. Now it also includes short usage instructions.
- Fixed the link to the Pro version (new site).
- Tested on WP 3.4 (final release).
- Tested on WP 3.4-alpha
- Store per-post disable_* flags in a single post meta key instead of one key per flag.
- Fixed a minor conflict with the “Really simple Facebook Twitter share buttons” plugin.
- Changed the name to just “Raw HTML”.
- Fixed incompatibility with SyntaxHighlighter Evolved.
- Tested on WordPress 3.3 (beta).
- Tested on WordPress 3.2.1
- Improved the checkbox layout in the plugin’s post editor widget (extra whitespace).
- Tested on the latest Beta version of WordPress (3.2-beta2).
<!--start_raw-->...<!--/end_raw-->. The old syntax will continue to work, but you’re encouraged to use either [raw] or
<!--raw-->in the future as they’re more internally consistent (and shorter).
- To decrease UI clutter, post-level settings now use hidden custom fields.
- Added a new panel to the “Screen Options” box that lest you auto-enable specific RawHTML settings (e.g. “Disable automatic paragraphs”) for all new or updated posts.
- Fixed a conflict with the Intypo plugin
- Fixed example code formatting in readme.txt
- Added an autogenerated changelog.
- Fix a problem where very long posts would be displayed as blank. This was caused by a regexp input size limitation/bug in newer versions of PHP.
- Fix a glitch when one [RAW]/RAW block is immediately followed by another (cause : greedy regexp).
- Change filter priorities again to make it compatible with Exec-PHP (hopefully).
- Improved compatibility with other plugins (e.g. cforms II).
- Gave the “maybe_” filters a higher priority to prevent conflicts with some plugins that want to insert untexturized HTML.
- New feature : disable wptexturize() and other filters on a per-post level.
- “Official” WP 2.7 compatibility.
- Fixed some readme.txt text
- Fix : regexp failing for very long posts, leading to blank pages.
- A tiny bugfix — changed one regexp to make quicktags perform as expected.
- WP 2.5.1 compatibility
- There are no release notes for this version