Wordpress: Disable Automatic Formatting Using a Shortcode

February 23rd, 2010 by admin | Print Wordpress: 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]

I grabbed this from CSS-Tricks. All credit to Chris Coyier who owns CSS-Tricks.

 

4 Comments

  1. gualetar

    The subject is fully clear but why does the text lack clarity? But in general your blog is great.

  2. My name is Piter Jankovich. oOnly want to tell, that your blog is really cool
    And want to ask you: is this blog your hobby?
    P.S. Sorry for my bad english

  3. LiENUS

    I read a article under the same title some time ago, but this articles quality is much, much better. How you do this?

  4. kapsel

    I am not going to be original this time, so all I am going to say that your blog rocks, sad that I don’t have suck a writing skills

Trackbacks

Leave a Reply