Disable Automatic Formatting Using a Shortcode

function my_formatter($content) {
       $new_content = '';
       $pattern_full = '{(\[raw\].*?\[/raw\])}is';
       $pattern_contents = '{\[raw\](.*?)\[/raw\]}is';
       $pieces = preg_split($pattern_full, $content, -1, PREG_SPLIT_DELIM_CAPTURE);

       foreach ($pieces as $piece) {
               if (preg_match($pattern_contents, $piece, $matches)) {
                       $new_content .= $matches[1];
               } else {
                       $new_content .= wptexturize(wpautop($piece));

       return $new_content;

remove_filter('the_content', 'wpautop');
remove_filter('the_content', 'wptexturize');

add_filter('the_content', 'my_formatter', 99);

This goes in the PHP in your functions.php file. Once done, you can use the [raw] shortcode in your posts: [raw]Unformatted code[/raw]

Reference URL


  1. acepek

    This is so awesome! It works perfectly. I just needed to be able to disable a small portion (some javascript) within a post from getting the always helpful “autop” and this did it! Thank you.

  2. Will
    Permalink to comment#

    This did not work…

  3. Jeff
    Permalink to comment#

    works for most part, but tags are still automatically closed at times

  4. Duncan Michael-MacGregor
    Permalink to comment#

    This is spot on! I needed to remove formatting within my shortcodes, just adding:

    remove_filter('the_content', 'wpautop');
    remove_filter('the_content', 'wptexturize');

    Sorted it, thanks so much! :)

  5. PayteR
    Permalink to comment#

    Im using this snippet for more than a year, it was really helpful, but now, when i’m using Visual Composer Plugin it’s useless, because it create serious issues when it add closing paragraph tag and it breakes layout. I was not able to use frontend editor too. It needs to be fixed, or just don’t use it with Visual Composer.

  6. Regel
    Permalink to comment#

    I have found simple code bro,, remove_all_shortcodes();

     add_filter("the_content", "gui_the_content");
         * Retrieved data
         * @access public
         * @param mixed $content
         * @return void
         * @link https://codex.wordpress.org/Plugin_API/Filter_Reference/the_content
         * @generator WordPress Plugin Maker http://codecanyon.net/item/wordpress-plugin-maker-freelancer-version/13581496
        public function gui_the_content($content)
            if ($this->live_edit == true)
                $new_content = '<form><div id="gui-editable">' . $content . '</div></form>';
            } else
                $new_content = $content;
            return $new_content;

Leave a Comment

Posting Code

We highly encourage you to post problematic HTML/CSS/JavaScript over on CodePen and include the link in your post. It's much easier to see, understand, and help with when you do that.

Markdown is supported, so you can write inline code like `<div>this</div>` or multiline blocks of code in in triple backtick fences like this:

  function example() {
    element.innerHTML = "<div>code</div>";

We have a pretty good* newsletter.