WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am using the Mailchimp plugin ( http://wordpress.org/extend/plugins/mailchimp/ )and it has a shortcode that uses output buffering to grab it's widget's code and spit it out in the content. however, the widget code has plenty of white space, so the_content filters are throwing useless linebreaks (like after hidden inputs) and empty p tags everywhere... rendering it unusable. I am removing the shortcode to add my own, but i'm not sure what to do to prevent the wordpress wpautop filter from going crazy. my initial thought was to strip out the whitespaces between html tags, but i don't know how to go about doing that.

ideally the plugin would concentenate a string to return instead of using output buffering, but i don't know if they'll ever bother.

share|improve this question
up vote 6 down vote accepted

You do not need a plugin to do this. Just add 3 lines of code to the end of the functions.php file in your active theme:

remove_filter( 'the_content', 'wpautop' );
add_filter( 'the_content', 'wpautop' , 99 );
add_filter( 'the_content', 'shortcode_unautop', 100 );
share|improve this answer
i don't know what exactly i was smoking the other day, but i'm not even experiencing this problem today. thanks for the answer though. i think it causes some trouble as HTML comments seem to get wrapped in p tags. – helgatheviking Jun 26 '12 at 20:48

That's a nice solution but it turns off autop for all shortcodes which may not be desired.

I wrote a script that allows you to run the following:

include "shortcode-wpautop-control.php";

It allows you to turn off wpautop for specific shortcodes instead of all of them.

Once again, I wrote the script. I don't mean to self promote but as I update it in the future, I will update it on github so it makes no sense to post the code here.

You can see the script at https://github.com/chiedolabs/shortcode-wpautop-control

share|improve this answer
Are you actively maintaining this code? It looks useful but I don't wanna invest any time into something that isn't being actively maintained. – Patrik Alienus Mar 29 at 6:49
Good question. I'd say I'm not actively maintaining it since not many people have been using it since I launched it. I have WordPress plugins using it that depend on it though so if there are Issues placed on GitHub, I will fix them. – Chiedo Mar 30 at 12:44
So I'm reactively maintaining the code as opposed to actively. – Chiedo Mar 30 at 12:44
Ok fair enough. – Patrik Alienus Mar 31 at 13:01
I would use this, but I need wpautop for parts of my shortcode contents, just not in between the shortcodes. Example: [row] \n [cell] \n content \n [/cell] [/row] should become <row><cell><br>content<br></cell></row> – Steven Vachon Apr 14 at 22:54

Your Answer


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.