How to Disable Automatic formatting in WordPress posts

95

WordPress has a habit of automatically formatting codes which can become a huge problem for some bloggers. You can use the Syntax Highlighter Plugin or encode all codes manually, but these ways have their own shortcomings. Recently working on a client’s site, we discovered a useful trick that will disable automatic formatting in WordPress posts through the use of shortcodes.

First you would need to open your theme’s functions.php file and paste the following code:

      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);

Once you have pasted the codes above and uploaded the file, then you are ready to use the shortcodes. Simply use the shortcode below when writing the post:

  [raw]Unformatted code[/raw]

Let us know if you have any questions.

Source: WPRecipes