-
-
Save Fantikerz/5557617 to your computer and use it in GitHub Desktop.
WordPress' wpautop adds line breaks and empty paragraphs in some cases, especially when the first item in the post is an image. This attempts to strip those tags which may be desirable if you have special paragraph styling or have a consistently desired post format.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
function remove_empty_p($content) | |
{ | |
$content = force_balance_tags($content); | |
$return = preg_replace('#<p>\s*+(<br\s*/*>)?\s*</p>#i', '', $content); | |
$return = preg_replace('~\s?<p>(\s| )+</p>\s?~', '', $return); | |
return $return; | |
} | |
add_filter('the_content', 'remove_empty_p', 20, 1); | |
?> |
After a lot of tedious troubleshooting, I've discovered that this also breaks Gravity Forms ajax submissions.
Gravity Forms injects inline jQuery, which should look similar to:
jQuery('#gform_wrapper_1').replaceWith('<' + 'div id=\'gforms_confirmation_message
However, with this gist, it adds a phantom space:
jQuery('#gform_wrapper_1').replaceWith('< ' + 'div id=\'gforms_confirmation_message
It's being caused specifically by this line:
$content = force_balance_tags( $content );
I don't have a solution to offer, but perhaps someone else with this issue will save a few hours of troubleshooting.
This one works better, https://gist.github.com/ninnypants/1668216
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Warning*
This code breaks the Ninja Forms plugin, somehow. It only breaks it when adding a little bit of complexity to the form. I found out by process of elimination. It must remove some JavaScript somewhere. The JS errors I get are below.
SyntaxError: expected expression, got '<'[Learn More] website-request-form:282:8
ReferenceError: nfForms is not defined[Learn More] front-end.js:1:8202