nav-left cat-right
cat-right

Stop WordPress from Removing br and p Tags

WordPress has a bad habit of removing or reformatting br and p tags that are entered into posts and pages. It also does some other funky formatting that can be annoying at times.

Well, here’s a way to fix this issue.

Go into the theme editing area of WP admin. Add this code to your functions.php file, and save it.

<?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);
?>

Now, when writing a post/page, use [raw][/raw] tags to surround that parts of the post/page that you do not want formatted.

One Response to “Stop WordPress from Removing br and p Tags”

  1. [...] http://www.adammershon.com/stop-wordpress-from-removing-br-and-p-tags/ This entry was written by admin, posted on July 26, 2010 at 5:15 am, filed under Web Development, WordPress. Bookmark the permalink. Follow any comments here with the RSS feed for this post. Post a comment or leave a trackback: Trackback URL. « Tim Thumb Image Resizing [...]

Leave a Reply