it-swarm.com.de

Erweitern der zulässigen HTML-Tags in Kommentaren?

Ich habe kein Problem damit, dies in einem Kommentar als Administrator zu tun:

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

Die Abonnenten können jedoch keine Wörter unterstreichen, Farbe hinzufügen oder Bilder hinzufügen.

Kann nur der Administrator mehr HTML-Tags verwenden als im Kommentarformular vorgeschlagen?

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

Wie können die Abonnenten dem Text Farbe hinzufügen und Bilder hinzufügen?

1
janoChen

Die in Kommentaren zulässigen Tags werden in dem $allowedtags globale Variable . Sie können versuchen, dieser Liste Elemente hinzuzufügen (der Schlüssel ist der Tag-Name, der Wert ist ein Array zulässiger Attribute). Wenn Sie Probleme mit dem Timing haben, können Sie mit dem CUSTOM_TAGS globale Variable .

3
Jan Fabry

Auch ich musste die Liste der verfügbaren HTML-Tags in Kommentaren anpassen. Ich wollte die Variable CUSTOM_TAGS Nicht definieren, da sie alles überschreibt, was WP in kses.php eingerichtet ist, aber ich war es nicht Ich bin mir nicht sicher, wo ich die Funktion einbinden soll. Eine kleine Untersuchung ergab, dass kses.php seine Filter über kses_init() initialisiert, das als hinzugefügt wird Funktion zu 'init' mit der Standardpriorität von 10, also ...

/*
 * 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 );

Referenz:

  • / wp-includes/kses.php
  • Schauen Sie sich den ersten Abschnitt an, in dem $allowedtags Definiert ist.
  • Schauen Sie sich kses_init () und die zugehörigen Befehle add_action an.
3
Gregory

Nur ein Beispiel :

function allow_tags_content() {
    global $allowedposttags, $allowedtags;

    $allowedposttags['div']['data-hello'] = true;
    $allowedtags['div']['data-hello'] = true;

    $allowedposttags['div']['data-world'] = true;
    $allowedtags['div']['data-world'] = true;
}
add_action('init','allow_tags_content');
0
l2aelba