Tell me more ×
WordPress Answers is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

I have no problem doing this in a comment, as an administrator:

<b>bold test</b> <i>italics test</i>
<u>underline test</u> <font
color="#ff9900"> color test</font>

But the subscribers can't underline, add color to words nor add images.

Is it that only the admin can use more HTML tags than those suggested under the comment form?

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

How to enable the subscribers to add color to text, and add images?

share|improve this question
How about using roles to acchieve this? codex.wordpress.org/Function_Reference/comment_class – kaiser May 23 '11 at 22:19

2 Answers

up vote 2 down vote accepted

The tags that are allowed in comments are stored in the $allowedtags global variable. You can try adding elements to that list (the key is the tag name, the value is an array of allowed attributes). If you have problems with the timing you can play with the CUSTOM_TAGS global variable.

share|improve this answer

I too needed to customise the list of available HTML tags in comments. I didn't want to define the CUSTOM_TAGS variable because it overrides everything that WP sets up in kses.php, but I wasn't sure where to hook the function. A little investigation showed that kses.php initialises its filters via kses_init() which is added as a function to 'init' with the default priority of 10, so...

/*
 * customise list of allowed HTML tags in comments
 */
function gregory_customise_allowedTags() {

    global $allowedtags;

    // remove unwanted tags
    $unwanted = array(
        'abbr',
        'acronym',
        'blockquote',
        'cite',
        'code',
        'del',
        'strike',
        'strong'
        );
    foreach ( $unwanted as $tag )
        unset( $allowedtags[$tag] );

    // add wanted tags
    $newTags = array(
        'span' => array(
            'lang' => array()),
        'u' => array()
        );
    $allowedtags = array_merge( $allowedtags, $newTags );

}

add_action('init', 'gregory_customise_allowedTags', 11 );

Reference:

share|improve this answer

protected by Community Apr 10 '12 at 11:21

This question is protected to prevent "thanks!", "me too!", or spam answers by new users. To answer it, you must have earned at least 10 reputation on this site.

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