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

How to Disable Automatic formatting in WordPress posts

Last updated on by
Special WordPress Hosting offer for WPBeginner Readers
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 experts 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 »


  1. Christina Arasmo says:

    This adds empty paragraphs and returns inside WooCommerce templates.

  2. gallowaygrumblefield says:

    II don’t think this works anymore. I’m using WP 4.0, and my && in my javascript still gets rendered as & # 038; & # 038;

  3. Phil LaNasa says:

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

  4. Emanuele says:

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

  5. Myrddin says:


    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.


  6. 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.

  7. Karan says:

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

  8. 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.