Support » Fixing WordPress » Displaying HTML tags in comments

  • Is there a way to display certain HTML tags within comments? I have been able to use the obvious bold, italics, and underline tag, but would like to to use the <font color> tag or even <font type> tag.

    Here is the code for my comments.php page:

    <?php // Do not delete these lines
    if (‘comments.php’ == basename($_SERVER[‘SCRIPT_FILENAME’]))
    die (‘Please do not load this page directly. Thanks!’);

    if (!empty($post->post_password)) { // if there’s a password
    if ($_COOKIE[‘wp-postpass_’ . COOKIEHASH] != $post->post_password) { // and it doesn’t match the cookie

    <p class=”nocomments”>This post is password protected. Enter the password to view comments.


    /* This variable is for alternating comment background */
    $oddcomment = ‘alt’;


    <!– You can start editing here. –>

    <?php if ($comments) : ?>
    <h3 id=”comments”><?php comments_number(‘No Responses’, ‘One Response’, ‘% Responses’ );?> to “<?php the_title(); ?>”</h3>

    <ol class=”commentlist”>

    <?php foreach ($comments as $comment) : ?>

    <li class=”<?php echo $oddcomment; ?>” id=”comment-<?php comment_ID() ?>”>
    <cite><?php comment_author_link() ?></cite> Says:
    <?php if ($comment->comment_approved == ‘0’) : ?>
    Your comment is awaiting moderation.
    <?php endif; ?>

    <small class=”commentmetadata”>” title=””><?php comment_date(‘F jS, Y’) ?> at <?php comment_time() ?> <?php edit_comment_link(‘e’,”,”); ?></small>

    <?php comment_text() ?>

    <?php /* Changes every other comment to a different class */
    if (‘alt’ == $oddcomment) $oddcomment = ”;
    else $oddcomment = ‘alt’;

    <?php endforeach; /* end for each comment */ ?>

    <?php else : // this is displayed if there are no comments so far ?>

    <?php if (‘open’ == $post->comment_status) : ?>
    <!– If comments are open, but there are no comments. –>

    <?php else : // comments are closed ?>
    <!– If comments are closed. –>
    <p class=”nocomments”>Comments are closed.

    <?php endif; ?>
    <?php endif; ?>

    <?php if (‘open’ == $post->comment_status) : ?>

    <h3 id=”respond”>Leave a Reply</h3>

    <?php if ( get_option(‘comment_registration’) && !$user_ID ) : ?>
    You must be /wp-login.php?redirect_to=<?php the_permalink(); ?>”>logged in to post a comment.
    <?php else : ?>
    *You can use HTML tags for your comments. A preview is supplied.

    <form action=”<?php echo get_option(‘siteurl’); ?>/wp-comments-post.php” method=”post” id=”commentform”>

    <?php if ( $user_ID ) : ?>

    Logged in as /wp-admin/profile.php”><?php echo $user_identity; ?>. /wp-login.php?action=logout” title=”Log out of this account”>Logout »

    <?php else : ?>

    <input type=”text” name=”author” id=”author” value=”<?php echo $comment_author; ?>” size=”22″ tabindex=”1″ />
    <label for=”author”><small>Name <?php if ($req) echo “(required)”; ?></small></label>

    <input type=”text” name=”email” id=”email” value=”<?php echo $comment_author_email; ?>” size=”22″ tabindex=”2″ />
    <label for=”email”><small>Mail (will not be published) <?php if ($req) echo “(required)”; ?></small></label>

    <input type=”text” name=”url” id=”url” value=”<?php echo $comment_author_url; ?>” size=”22″ tabindex=”3″ />
    <label for=”url”><small>Website</small></label>

    <?php endif; ?>

    <!–<small>XHTML: You can use these tags: <?php echo allowed_tags(); ?></small>–>

    <textarea name=”comment” cols=”8″ rows=”5″ id=”comment” tabindex=”4″></textarea>

    <input name=”submit” type=”submit” id=”submit” tabindex=”5″ value=”Submit Comment” />
    <input type=”hidden” name=”comment_post_ID” value=”<?php echo $id; ?>” />

    <?php do_action(‘comment_form’, $post->ID); ?>


    <?php endif; // If registration required and not logged in ?>

    <?php endif; // if you delete this the sky will fall on your head ?>

Viewing 14 replies - 1 through 14 (of 14 total)
  • Please, don’t post long code here – it’s difficult to read and nobody will take a look at it.
    If you think it is necessary to see your code (though most of the comments.php files are the same, unless you modified it!) you can use or similar pastebin services.

    As for your question > Codex and search.

    Sorry about all that script moshu, but I was instructed by another member on here “waraxe” to post all code pertaining to what I needed help with.

    I clicked on the link and read the small passage, but cannot make any sense of it because I do not have a my-hacks.php file in my folder. Is there anywhere I can go to read up on this? More information would be greatly appreciated.

    I don’t know much about it, but on the same page I’ve linked above your scroll up… you will find the opposite of your question (How NOT to let ppl post html) and that passage will direct you to the kses.php file which contains all this html stuff. If you know coding (which I don’t) maybe you will be able to add your tags there.

    First, font tags are not XHTML compliant, second, you create the my-hacks.php file and put it in your root blog directory. You will then have to activate it by selecting the check box in the Misc. Options.

    In my-hacks you would build your array, something like this:
    $allowedtags = Array(
        ‘ol’ => array(),
        ‘ul’ => array(),
        ‘li’ => array(),
        define(‘CUSTOM_TAGS’, true);

    And moshu was right, I read the first 3 lines of your post and skipped the rest.

    Hey, for those testing 2RC1, can you test this? On my test site, apparently tags such as “strong” “ol” “li” work regardless of whether included in the allowedtags array or not. I even tried editing kses.php.


    By default, the HTML tags work for <b>,

      , <i>, and so forth, its only such tags as <font color>, <font type>, etc that do not work.

    These are the default allowed tags:

    <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

    To allow other tags, edit /wp-includes/kses.php. In that file is an array of allowed tags. Just add the ones you want to the array.

    By default they do, but supposedly you may override the default by adding what I posted in your my-hacks. If I do, then tags such as <strong> should not work because it is not in my array (as posted). Even if I removed it from the $allowedtags array in kses, the strong tag is still allowed. Either I am missing something or this is “broke” in 2.0 – hence my request for others to test it.


    I made modifications to the kses.php file and allowed a few more tags to be noted, but the problem is, <font color> and <font type> are not working when added to the kses.php file. I mentioned this earlier several times. The ONLY tags I care about allowing are the font color and font type tags. Has anyone tested this?

    You realize the <font> tag is depreciated, right?

    <span style="color: #FF0000;">blah</span> is the preferred method now I believe.

    No, I didnt know it was depreciated Viper.

    Still seems to work on all my HTML coded pages. So am I supposed to take <span style=”color: #FF0000;”> tag and use that in the kses.php file instead of the font color tag?

    Doesn’t work.

    Still seems to work on all my HTML coded pages.

    Depreciated doesn’t mean it won’t work, it just means it isn’t the “proper” method anymore. Just like <strong> should be used now rather than <b>. 😉

    Anyway, I dunno what you’re talking about. I got <font color="#FF0000">blah</font> working just fine when I added this to kses.php:

    'font' => array('color' => array()),

    I’ve just been playing around with my kses.php file and have managed to get images to work in my comments. I am now after font size and colour.
    I am using editormonkey to control the comments and it’s working great: now I would just like to have commenter be able to control the font size and colour. I added what Viper007Bond said to add, but I couldn’t get that to work.
    Any suggestions?
    here’s the part of the code taht I edited

    $allowedtags = array ('a' => array ('href' => array (), 'title' => array ()), 'font' => array('color' => array()), 'img' => array( 'src' => array(), 'alt' => array()), 'abbr' => array ('title' => array ()), 'acronym' => array ('title' => array ()), 'b' => array (), 'blockquote' => array ('cite' => array ()),

Viewing 14 replies - 1 through 14 (of 14 total)
  • The topic ‘Displaying HTML tags in comments’ is closed to new replies.