How to Disable Automatic formatting in WordPress posts

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