Solved

Need help removing whitespace from end of Wordpress post as it's saved

Posted on 2014-01-28
6
271 Views
Last Modified: 2014-02-16
I'm surprised this is not more of an issue on multi-author blogs. Certainly is with my writers -

They tend to leave extra <p></p> tags at the end of their posts, not realizing that white space (when viewed on the visual editor) is going to appear as empty space on their post when published.

To complicate it a bit, sometimes, depending on how they edited it, there will be styles in the tag, such as: <p style="text-align: justify;"></p>.

Is there a way to identify and trim all empty paragraph tags from the end of the post as it's being saved?

Thanks for any assistance,

Chris

edit - its occurred to me that I don't need to trim paragraphs only from the - end - of the post. I don't see any reason for any empty paragraph tags to exist in the content at all. So the solution could remove all empty p tags, not just the ones at the end. That would probably be easier.
0
Comment
Question by:St_Aug_Beach_Bum
  • 3
  • 2
6 Comments
 
LVL 70

Accepted Solution

by:
Jason C. Levine earned 500 total points
ID: 39815086
I'm surprised this is not more of an issue on multi-author blogs. Certainly is with my writers -

What?  You're not silently editing all other author's posts? :)

In all seriousness, this has come up in the community but not restricted to just the end of the content.

add_filter('the_content', 'remove_empty_p', 20, 1);
function remove_empty_p($content){
    $content = force_balance_tags($content);
    return preg_replace('#<p>\s*+(<br\s*/*>)?\s*</p>#i', '', $content);
}

Open in new window


Source:  https://gist.github.com/1668216

That function should strip all empty p tags from the post.
0
 
LVL 52

Expert Comment

by:Scott Fell, EE MVE
ID: 39815093
You could add some jquery code
$('p').each(function(){
  if ($(this).html()===''){
      $(this).remove();
  }
});

Open in new window

0
 
LVL 70

Expert Comment

by:Jason C. Levine
ID: 39815116
Scott:

$('p:empty').remove();

Open in new window


Equivalent? (Serious question....my JQuery-fu is weak)
0
Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

 
LVL 52

Expert Comment

by:Scott Fell, EE MVE
ID: 39815134
Looks better to me.    

I figured jquery for older posts but is there a way to easily go back and clean up the db?
0
 
LVL 70

Expert Comment

by:Jason C. Levine
ID: 39815190
Well, my filter solution runs as the page is called so it works for all content over time.
0
 

Author Comment

by:St_Aug_Beach_Bum
ID: 39815218
What?  You're not silently editing all other author's posts? :)

Actually, I have been - trying to get away from that :)

I'm not sure how or where to put the jquery, so I'm leaning toward the filter.

Since I have been cleaning up posts in the past, those are not an issue.

Would there be a way to run this filter and take out those tags as the post is being saved? That way it would not have to run with every hit, correct?

(I don't use cacheing as I have alternating ad codes.)
0

Featured Post

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article discusses how to create an extensible mechanism for linked drop downs.
3 proven steps to speed up Magento powered sites. The article focus is on optimizing time to first byte (TTFB), full page caching and configuring server for optimal performance.
The purpose of this video is to demonstrate how to Import and export files in WordPress. This will be demonstrated using a Windows 8 PC. Go to your WordPress login page. This will look like the following: mywebsite.com/wp-login.php : Click on Too…
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question