Lets you use raw HTML or any other code in your posts. You can also disable smart quotes and other automatic formatting on a per-post basis.
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.
Features
With this plugin, you can wrap any part of your post in [raw]…[/raw] tags to prevent WordPress from converting newlines to HTML paragraphs, replacing apostrophes with typographic quotes and so on. This is very useful if you need to add a CSS block or JavaScript to your post.
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:
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.
Compatibility
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.
Usage
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]
or <!--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.
Example :
[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.
Combining shortcodes
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]
Preserving [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 wp-config.php
:
define('RAW_HTML_KEEP_RAW_IN_EXCERPTS', true);
This will ensure that the plugin doesn’t strip [raw]
blocks from automatically generated excerpts.
Notes
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 :
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 /wp-content/plugins
directory.
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.
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.
[raw]
blocks in post excerpts.shortcodes=1
attribute to the tag. Example: [raw shortcodes=1]some code ... [my-shortcode] ... other code[/raw]
.wpautop
.<!--raw-->...<!--/raw-->
over <!--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).