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 put any code or script (e.g. JavaScript) in my posts and display it to the visitor unmodified.

Download & Installation

raw-html.zip (3 KB)

Requirements :

  • WordPress 2.3.1 – 2.7
  • Disable visual editor for better results – some characters (e.g. the ampersand) may still be encoded if it’s enabled.

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 “Write” screen (requires WP 2.5+) :

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 <!–start_raw–>…<!–end_raw–> or [RAW]…[/RAW] tags. The two versions work exactly the same, but the latter may be handy if you’re using the visual editor (not recommended).

Example :
<!--start_raw-->
This

is

a 'test'!
<!--end_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. If it works for you, consider yourself lucky ;)

Share :
  • Reddit
  • del.icio.us
  • Digg
  • StumbleUpon
  • DZone
  • Ping.fm
  • Sphinn
Related posts :

143 Responses to “Raw HTML Plugin for WordPress”

Pages: « 1 2 [3] 4 5 » Show All

  1. 54
    gazete oku says:

    Love this plugin. Would love to see 2.5 compatibility.

  2. 55
    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.

  3. 56
    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

  4. 57
    White Shadow says:

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

  5. 58
    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)

  6. 59
    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.)

  7. 60
    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.

  8. 61
    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.

  9. 62
    Esteban says:

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

  10. 63
    White Shadow says:

    @Esteban – Ah well, good luck ;)

  11. 64
    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.

  12. 65
    Czar says:

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

  13. [...] Raw HTML позволяет вставлять при написании / редактировании [...]

  14. 67
    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!

  15. 68
    White Shadow says:

    @Aardvark – Yes, it hasn’t been extensively tested with the visual editor.

  16. 70
    nirsound says:

    Is it possible to apply the plugin to all posts and pages? (without using the [raw][/raw] every time)

  17. 71
    White Shadow says:

    @nirsound – not in this implementation, but it’s an interesting idea.

  18. This is a great plugin

  19. 73
    rap dinle says:

    I’ve been looking all over the Internet for a way to do this. Thanks for sharing and making my day even better!

  20. 74
    nirsound says:

    Thanks! I am looking forward to general setting “Apply Raw HTML to all posts and pages” in the next release…. ;) Meanwhile, can you think of a simple change to the plugin code to force wordpress to default to Raw HTML mode? (without writing the {!–start_raw–}{!–end_raw–} every time)

  21. 75
    White Shadow says:

    When I finally get around to updating my old plugins, perhaps ;)

  22. [...] HTML Update The Raw HTML plugin has been updated! In case you didn’t know, Raw HTML is my WordPress plugin that lets you use [...]

  23. [...] Another case if we want to put any special characters (apostrophie, quote) and any script. To enable javascript and put RAW HTML inside wp post, we must install RAW HTML [...]

  24. [...] Are you trying to add a flash object inside a wordpress post using the <object> tag? Your post will  probably look screwed up. So if you don’t care about xhtml and all that stuff try the easy fix: get the raw html plugin [...]

  25. 80
    Artsy Crafter says:

    I really love this plug in (the raw html one). I am new at wordpress blogging and it was so easy!

    Thanks!!

  26. 81
    Hikari says:

    tnx a lot, this is the most critical plugin I use

  27. 82
    Dusty says:

    Unfortunately, when I tried this, I still had the problem I was having before – with the auto-formatting, if I put line breaks in my table coding to make it manageable, there will be a huge block of space above each table, the sum of all the line breaks in the coding. on LJ, I know that turning the auto-formatting off will fix that and I was hoping that this would do the same. Unfortunately, I still got the large chunks of space, both when I checked the box and when I ran the !-start_raw codes.

  28. 83
    White Shadow says:

    Hmm, how about an example of the problematic HTML?

Pages: « 1 2 [3] 4 5 » Show All

Leave a Reply