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 shortcode in your posts: [raw]Unformatted code
This is so awesome! It works perfectly. I just needed to be able to disable a small portion (some javascript) within a post from getting the always helpful “autop” and this did it! Thank you.
This did not work…
works for most part, but tags are still automatically closed at times
This is spot on! I needed to remove formatting within my shortcodes, just adding:
remove_filter('the_content', 'wpautop');
remove_filter('the_content', 'wptexturize');
Sorted it, thanks so much! :)
Im using this snippet for more than a year, it was really helpful, but now, when i’m using Visual Composer Plugin it’s useless, because it create serious issues when it add closing paragraph tag and it breakes layout. I was not able to use frontend editor too. It needs to be fixed, or just don’t use it with Visual Composer.
I have found simple code bro,, remove_all_shortcodes();
This is legit, but can we take this an additional step further? This is ideal for fixing a post so long as that post is always loaded and edited withing the text(html) mode, but if I swap from that to the visual editor and back again, the html gets totally botched. Is there some similar sorcery we can add to our functions.php to ensure that it gets the same (or similar) treatment when switching between edit modes?