Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

Is there a way to prevent tinyMCE from auto formatting the content inside selected blocks? Something like

<!--dont-alter-->
variable range of content, text, < , ], images etc., that will not be touched by tinyMCE.
<!--end:dont:alter-->

so that when switching between editors, the content is unchanged? I have done tinyMCE plugins before, but would really appreciate some directions here.

Above functionality would be very helpful, allowing control over formatting.

Please share you wisdom. Thanks.

share|improve this question

1 Answer 1

up vote 0 down vote accepted

You can try adding this to your functions.php file:

<?php
    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've added that and saved the file, you can wrap the code you don't want formatted with a shortcode:

[raw]Unformatted code[/raw]

SOURCE: http://www.wprecipes.com/disable-wordpress-automatic-formatting-on-posts-using-a-shortcode

NOTE: I haven't tested this solution, but it comes from a reliable source.

share|improve this answer
    
Thanks Jeremy. Will the shortcodes inside this [raw] section be parsed? –  OpenOne Aug 31 '11 at 13:19
    
I think it would need to be adjusted to allow a "shortcode inside a shortcode". I have a few things I need to do, but I'll try to find some time to test it and let you know. –  Jeremy Jared Aug 31 '11 at 14:24

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.