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 shortcode in your posts: [raw]Unformatted code


  1. User Avatar

    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. User Avatar
    Permalink to comment#

    This did not work…

  3. User Avatar
    Permalink to comment#

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

  4. User Avatar
    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. User Avatar
    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. User Avatar
    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;
  7. User Avatar
    Permalink to comment#

    This is legit, but can we take this an additional step further? This is ideal for fixing a post so long as that post is always loaded and edited withing the text(html) mode, but if I swap from that to the visual editor and back again, the html gets totally botched. Is there some similar sorcery we can add to our functions.php to ensure that it gets the same (or similar) treatment when switching between edit modes?

Leave a Comment

Posting Code!

You may write comments in Markdown. This makes code easy to post, as you can write inline code like `<div>this</div>` or multiline blocks of code in triple backtick fences (```) with double new lines before and after.

Code of Conduct

Absolutely anyone is welcome to submit a comment here. But not all comments will be posted. Think of it like writing a letter to the editor. All submitted comments will be read, but not all published. Published comments will be on-topic, helpful, and further the discussion or debate.

Want to tell us something privately?

Feel free to use our contact form. That's a great place to let us know about typos or anything off-topic.