2

Im not sure if you guys have encountered this problem, but WordPress appends empty <p> tags before and after the body of text from the comment_text() function.

Strangely, when you echo get_comment_text() or echo $comment->comment_content (same thing) the empty <p> tags disappear before and after the body of text.

This is entirely exclusive to a call to comment_text(). If you'd like to recreate it the problem, give your <p> tags top and bottom padding.

Anyway to fix this?

1 Answer 1

5

If you look in wp-includes/default-filters.php you'll see all of the functions each comment is run through before it's output. I'd guess it's the last one, wpautop, which adds p tags in place of line breaks:

add_filter( 'comment_text', 'wptexturize'            );
add_filter( 'comment_text', 'convert_chars'          );
add_filter( 'comment_text', 'make_clickable',      9 );
add_filter( 'comment_text', 'force_balance_tags', 25 );
add_filter( 'comment_text', 'convert_smilies',    20 );
add_filter( 'comment_text', 'wpautop',            30 );

You can remove_filter( 'comment_text', 'wpautop', 30 ); to confirm, but you'll lose paragraphs entirely.

3
  • Yea i can confirm that its the last one. Though the paragraphs are still intact. Thanks Milo. This is the second time you help me out. Really appreciate it. Do you think WordPress is aware of this problem?
    – VicePrez
    May 14, 2011 at 22:14
  • i take that back, you're right, paragraphs are lost when removing the filter. I reverted to giving the <p> tags 0 padding.
    – VicePrez
    May 15, 2011 at 14:02
  • @VicePrez it's not a problem it's a feature :) Mar 10, 2021 at 5:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.