Support » Fixing WordPress » Comments section outputting in plain html

  • Resolved Feartheflame


    Hey guys,

    I’m hoping you can help me with a problem I seem to be having. The comments section on our website seems to be outputting any comment as plain html. This causes issues as there are no line breaks or anything. Not only that but it’s also potentially a problem because of the freedom it gives anyone posting a comment.

    I’ve tried using the functions below to try and solve the issue but to no avail. If anyone could help fix the issue, that would be fantastic.

    The following code was placed in the functions.php file, but didn’t help

    add_filter(‘comment_text’, ‘wp_filter_nohtml_kses’);
    add_filter(‘comment_text_rss’, ‘wp_filter_nohtml_kses’);
    add_filter(‘comment_excerpt’, ‘wp_filter_nohtml_kses’);

    An example of the comments section can be found at:

    All I’m looking for is a simple fix to make comments be output in plain text, so if I type

    Line 1
    Line 2
    Line 3

    In a comment, it comes out as such, rather than Line 1 Line 2 Line 3.

    Thanks for any help provided <3

Viewing 14 replies - 1 through 14 (of 14 total)
  • I think you’ll have to supply the code for ‘wp_filter_nohtml_kses’. Why don’t you use the comment_form of WP though? Your commments don’t look that much different…

    Hey Sira.

    The filter functions I had to find somewhere, I didn’t set them, which might be why they’re not actually applying anything.

    I could use comment_form but it’s been so long I honestly wouldn’t know what that requires, it’s been years since any WP site I’ve had to use/make has had to worry about comments so I’m rusty in everything to do with them 😛

    Any way you could guide me through it?

    This is the comment form code explained with a link to a coded comment form.
    Otto’s original guide for WordPress 2.7 comments

    But all you have got to do is clean up functions.php from this code of yours and than find your comment coding in index.php or wherever an replace it be <?php comment_form (); ?>

    Sorry Sira. I must be having one of those days.

    I don’t see where in the ottopress link it explains how to simply get comments output as plain text, nor do I see how comment_form will assist me in this.

    The WP comment form looks like whatever you are using to display your comments at the moment. So you can use that, because it is build in and gives you the chance to get rid of code that seems buggy and not at all easy to maintain.

    I send you the additional information so you know how its coded and how to apply changes you want to make and the comment form does not output comments as plain txt, its formatted text, the way word and wordpress format text, with linebreaks and everything.

    Sorry I can’t be of more help…



    Forum Moderator

    what is the code used in comments.php?

    please use the pastebin for the code – see


    We’ve managed to fix the amount of freedom that people have in the comments section by changing the allowed html in kses.php, however it’s still applying zero formatting to comments, so no linebreaks or anything, which is now the issue we’re trying to solve.



    Forum Moderator

    next step, continuing from this line:

    <?php wp_list_comments( array( 'callback' => 'fear_comment' ) );        ?>

    what is the code of the function fear_comment() which you might find in functions.php of your theme (?)

    this is likely to have the code which outputs the comment text.

    That’s all the info in the functions.php file relating to fear_comment()

    It is the p class no-margin bottom in the div class comment_box that your changes are targeting, but aparantly that is not working. Where did you find these filters above, that you put in the functions php?



    Forum Moderator

    in this line:

    <div class="comment_box"><p class="no_margin_bottom"><?php echo $comment->comment_content; ?></p></div><!-- #comment box -->

    try to replace <p class="no_margin_bottom"><?php echo $comment->comment_content; ?></p> with <?php comment_text(); ?>
    and try to create the ‘no_margin_bottom’ formatting (?) in some other ways (although removing this css class does not seem to make any difference);

    or try to replace <p class="no_margin_bottom"><?php echo $comment->comment_content; ?></p> with <?php echo apply_filters('comment_text',$comment->comment_content); ?>
    with the same issue with the ‘no_margin_bottom’ formatting (?)

    <?php comment_text(); ?>

    Worked thanks Alchy, that solves a lot of issues, much appriciated!

    I don’t want to spoil this, but maybe you’d like to check, if your extra html is working, because the link you send above is about getting rid of html, not adding it, and comment_text comes with a lot of html options out of the box.

Viewing 14 replies - 1 through 14 (of 14 total)
  • The topic ‘Comments section outputting in plain html’ is closed to new replies.