Raw HTML Plugin for WordPress

Introduction

Recently I needed to put some style definitions and a JavaScript function in a post on another blog that I have. I wasted several hours trying to do this, because WordPress insisted on putting backslashes in front of my apostrophes, inserting superfluous <p> or <br /> tags in place of newlines, and generally breaking my HTML in various horrible ways.

In the end I decided to just go and write a plugin that would let me disable the automatic formatting that WordPress applies to post content. This plugin adds a set of shortcodes that you can use to “protect” specific parts of your post and prevent WP from messing with them.

Download & Installation

Requirements :

  • WordPress 2.8 or later
  • If you use the free version, I strongly recommend disabling the visual editor. It (the editor) can mess up your code even if you use this plugin.

Installation is straightforward – download the zip file, unzip, upload the raw-html folder to /wp-content/plugins and activate it in the Plugins tab.

Usage

There are two ways to use the plugin. First, to turn off “smart quotes” and other built-in filters for an entire post, use the checkboxes that Raw HTML adds to the “Edit Post” screen:

Raw HTML meta box screenshot

If you want to prevent a specific part of your post or page from being processed and “texturized” by WordPress, wrap it in ... or <!–raw–>…<!–/raw–> tags. The two versions work exactly the same, with one exception – the <!–raw–>’s won’t be visible to your visitors even if you deactivate the plugin.

Example :
<!--raw-->
This

is

a ‘test’!
<!–/raw–>

Result :
This is a 'test'!

If you view the source code of this page, you will see that the newlines are still there, and the apostrophes haven’t been converted/escaped.

Other Notes

This plugin is provided AS IS, with no guarantee that it will work on your site.

Related posts :

318 Responses to “Raw HTML Plugin for WordPress”

  1. y5cafe says:

    Thanks a lot 🙂

  2. […] solution was simple with the help of yet another plugin. This time, I turned to Raw HTML from W-Shadow (see also the WordPress Official Plugins Directory page for Raw HTML. That plugin […]

  3. Ebony says:

    Great Blog…Looking to captilize from blogging as well.

  4. Photographion says:

    Good plugin.

  5. Philix says:

    This is a nice plugin

  6. FMS GROUP says:

    Thanks…..

  7. gazete oku says:

    Love this plugin. Would love to see 2.5 compatibility.

  8. White Shadow says:

    @gazete oku – I think it’s compatible, though I haven’t tested it extensively. This blog uses WP 2.6 and the example in the post seems to work correctly.

  9. Esteban says:

    I am not sure if it was the recent WP update or what, but this plug-in doesn’t seem to allow for php to be executed. If you view source, it simply prints the php source code. None of it is parsed. :/

    Any advice?

    – Esteban

  10. White Shadow says:

    @Esteban – This plugin was never intended for executing PHP. You will need a different plugin like Exec-PHP for that.

  11. Esteban says:

    (testing possible commenting problem…) (this post can be deleted if it works) (sure wish i had comment previewing…) (btw, the problem was with FF3 and I am trying this on IE 6 now)

  12. Esteban says:

    @White Shadow – Oh. I didn’t realize that. When I read the description, it said “In the end I decided to just go and write a plugin that would let me put any code or script in my posts and display it to the visitor unmodified.”

    I thought any code included php. Did you mean only Java script and html?

    As for Exec-PHP, I do use it. however, unless you enclose the whole post in the php brackets, WordPress will add parsing. That is why I was excited about your plug in. Here is an example (curlies instead of brackets):

    CODE with Exec-PHP:
    ——————
    line 0: {?php echo “stuff”; ?}
    line 1:
    line 2: {h1}title{/h1}
    line 3:
    line 4: {?php echo “more stuff”; ?}

    WP output with Exec-PHP:
    ——————
    stuff

    TITLE

    more stuff
    ——————

    As you can see, there are line breaks added because WP is annoying. lol.

    Now, with your plugin, what I had hoped to do because I thought in included php code was the following:

    CODE with Exec-PHP and Raw HTML:
    ——————
    line 0: {!–start_raw–}
    line 1: {?php echo “stuff”; ?}
    line 2:
    line 3: {h1}title{/h1}
    line 4:
    line 5: {?php echo “more stuff”; ?}
    line 6: {!–end_raw–}
    ——————

    Desired WP output with Exec-PHP and Raw HTML:
    ——————
    stuff
    TITLE
    more stuff
    ——————

    Anyway, that is what I expected since you said that we code execute ANY code or script. :/

    It’s okay if you don’t want to include this ability. I don’t want to tell you how to right your code and I CAN echo all the html with php (which would be annoying, but possible).

    I do hope you can update this post though to better reflect what “any code or script” means.

    Thanks for all your work my friend!

    Esteban

    (Ps – I don’t know what was up with your WP-SpamFree plugin, but I wasn’t able to post this with FireFox3.)

  13. White Shadow says:

    @Esteban – Yes, it was for JS/HTML. And your example might work if you did it like this :

    line 1: {?php echo “stuff”; ?}{!–start_raw–}
    line 2:
    line 3: {h1}title{/h1}
    line 4:
    line 5: {!–end_raw–}{?php echo “more stuff”; ?}

    Though that would likely become tedious in practical situations.

    WP-SpamFree might cause problems if you have JS and/or cookies disabled, but there may be other possibilities that I’m not aware of.

  14. Esteban says:

    @White Shadow – Thanks for the type. Unfortunately, I have tried that as well. I basically used the {!–start/end_raw–} tags to kill WordPress auto-formatting. You simply can’t use RAW HTML with Exec-PHP.

    Echoing line by line or even in EXCERPTS can be handy, but when you want to print variables within it, that it turns out to be a problem. :-/

    Anyway, thanks for the replies. Also, thanks for plugging the Javascript addition in there. I think it will clear thing up for folks. Now it’s time for me to either find another plug-in or write one myself (which will suck because I know in two weeks I will find out that I just reinvented the wheel and someone else already did it. lol)

    As for the WP-SpamFree, it warned me of the exact problems you suggested both of which were not the case. All well. That’s why I use multiple browsers.

  15. Esteban says:

    @White Shadow – PS, the last post was in FF3 and worked this time. lol. I love the consistency of inconsistency.

  16. White Shadow says:

    @Esteban – Ah well, good luck 😉

  17. Alan Tucker says:

    Great, works on a 2.6.1 (test, different theme) blog I’m considering migrating to – from 2.3.3 – it allowed me to put html tables into a page, I was pulling what’s left of my hair out before !

    Many thanks, Alan.

  18. Czar says:

    This is -JUST- what i was looking for. Thank you so much!

  19. Aardvark says:

    This plugin is a lifesaver. Simple and effective. Just a note, it’s not compatible with the tinymce-advanced plugin. Thanks a million!

Leave a Reply