Beginner's Guide for WordPress - Start your WordPress Blog in minutes.
Choosing the Best
WordPress Hosting
How to Easily
Install WordPress
Recommended
WordPress Plugins
View all Guides

How to Disable Automatic formatting in WordPress posts

Last updated on by
Elegant Themes
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


Editorial Staff at WPBeginner is a team of WordPress lovers led by Syed Balkhi. Page maintained by Syed Balkhi.

WPBeginner's Video Icon
Our HD-Quality tutorial videos for WordPress Beginners will teach you how to use WordPress to create and manage your own website in about an hour. Get started now »

Comments

  1. Phil LaNasa says:

    Excellent! I’ve tried plugins, but they make they work globally – all pages are affected. This is a super quick fix.

  2. Emanuele says:

    Nice piece of code. Made my day. Thanks for sharing.

  3. Myrddin says:

    Hello,

    Thanks for this tip. Kind of nice to be able to have raw scripts/html for select complex forms I am using, without having to pay attention on the remaining site.

    Michael

  4. Blair says:

    Im seeing this code everywhere , and I’m not so sure it’s a valid solution as it messes with a lot of other shortcodes ( if you theme is using theme ) , and it seems to add back formatting to areas in which did not have auto formatting in the first place ie : with get_the_excerpt() or something like this.

    Is there not an easier way to strip away a selected area of content to be not formatted this way?

    • Editorial Staff says:

      Umm, we simply use the Syntax Highlighter to display codes. Rest of formatting is ok. Unfortunately there is no real easy way.

  5. Karan says:

    This still does not take out the tags from posts/pages.
    Thanks.

  6. FAQPAL says:

    Excellent, this is definitely one frustrating part of WordPress.

Add a Comment

We're glad you have chosen to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and all links are nofollow. Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.