WP 3 – comment_form() Gestaltung und Ausgabe

Zwei Möglichkeiten der Textgestaltung des Kommentarformulars habe ich schon in dem Artikel erwähnt. In diesem Artikel möchte ich alle wichtigen Möglichkeiten der Gestaltung zusammenfassen.

Die Ausgabe des Kommentarformulars wird in der comments.php mit dieser dürren Zeile unmittelbar vor dem Ende vom div#comments gesteuert:

  • <?php comment_form(); ?>

Link zum WP-Codex bezüglich comments_form()

Zusammenfassung der wichtigsten Änderungsmöglichkeiten:

In der comments.php ändern/ergänzen:

  • // Überschrift Formularcontainer ändern
  • <?php comment_form(array('title_reply'=>'Sprich und fürchte dich nicht!')); ?>
  • // Text am Anfang des Formularcontainers ändern
  • <?php comment_form(array( 'comment_notes_before'=> '<p class="comment-notes">'
  • . __( 'Eine Muh, eine Mäh, eine Täterätätä <span class="required-tags">*</span>' ). '</p>' )); ?>
  • // Überschrift der textarea ändern/ergänzen:
  • <?php comment_form(array('comment_field'=> '<p class="comment-form-comment"><label for="comment">'
  • . __('Kommentar zackzack')
  • . '</label><br /><textarea id="comment" name="comment" cols="45" rows="8" aria-required="true"></textarea></p>',)); ?>
  • // Text nach der textarea ändern
  • <?php comment_form(array('comment_notes_after'=>'<p class="form-allowed-tags">'
  • . __( 'Bitte maskiert <span class="maskierung">&lt;</span> mit <span class="maskierung">&amp;lt;</span>
  • und <span class="maskierung">&gt;</span> mit <span class="maskierung">&amp;gt;</span> sonst verschwinden
  • sie im Nirgendwo!' ). '</p>')); ?>
  • // Text des Abschicken-Buttons ändern
  • <?php comment_form(array( 'label_submit' => 'Ab dafür!')); ?>

Wenn ihr mehrere Änderungen durchführen wollt vergeßt nicht dazwischen jeweils ein Komma einzufügen. Nach der letzten Änderung bitte das Komma weglassen.

In die functions.php eintragen:

  • // Filter zum Verändern der Texte des Kommentarformulars
  • function my_fields($fields) {
  • // Text des Namensfeldes ändern
  • $fields['author'] = '<p class="comment-form-author">' . '<label for="author">' . __( 'Name zackzack*' ) . '</label> ' . ( $req ? '<span class="required">*</span>' : '' ) .
  • '<input id="author" name="author" type="text" value="' . esc_attr( $commenter['comment_author'] ) . '" size="30"' . $aria_req . ' /></p>';
  • // Text des E-Mail-Feldes ändern
  • $fields['email'] = '<p class="comment-form-email"><label for="email">' . __( 'E-Mail zackzack*' ) . '</label> ' . ( $req ? '<span class="required">*</span>' : '' ) .
  • '<input id="email" name="email" type="text" value="' . esc_attr( $commenter['comment_author_email'] ) . '" size="30"' . $aria_req . ' /></p>';
  • // Text des Webseitenfeldes ändern
  • $fields['url'] = '<p class="comment-form-url"><label for="url">' . __( 'Website zackzack' ) . '</label>' .
  • '<input id="url" name="url" type="text" value="' . esc_attr( $commenter['comment_author_url'] ) . '" size="30" /></p>';
  • return $fields; }
  • add_filter('comment_form_default_fields','my_fields');

Dort könnt ihr dann bequem weitere Texte ändern. Ich hab mich mal im wesentlichen drauf beschränkt, jeweils ein knackiges zackzack an den Ursprungstext anzuhängen.

Die Anleitung wie ich den Filter einbaue habe ich in einem Blogartikel von Ellen Bauer vom Elmastudio entdeckt.

Hier könnt ihr euch einen gezippten Ordner herunterladen, der die Argumente und Filter zum bequemen copy/paste in einer PHP-Datei zusammengefaßt hat.
Außerdem ist eine PDF-Datei mit dem Quelltext des Formularcontainers dabei. Einfach ausdrucken und vor die Tastatur legen, dann müßt ihr nicht mehr mit Firebug hin- und herswitchen, um herauszufinden, welche Klassen und id für welche Formularelemente gelten.

Ich hoffe der Artikel trägt dazu bei, das nicht 90% aller deutschsprachigen Blogs als Überschrift des Formularcontainers Hinterlasse einen Kommentar haben. :mrgreen:

Kategorie:
Wordpress
Schlagworte:
, , , ,

11 Antworten auf WP 3 – comment_form() Gestaltung und Ausgabe

  1. elotse sagt am

    Diese Info hatte ich gesucht, Hinterlasse eine Antwort war einfach unpassend!
    Danke

  2. Ein Blogger sagt am

    Sehr schön! Genau das was ICH gesucht habe! Bzw. was mir erst einmal weiter hilft! Danke schön!

  3. Malte Schmidt sagt am

    Ich danke dir ganz herzlich! Hat prima funktionukkelt:

    http://projekt0.org/?p=1
    :)

  4. Pingback: Chat-Thread - Seite 1839 - XHTMLforum

  5. Pingback: IE9 ungewollt im Kompat-Modus - XHTMLforum

  6. Robert sagt am

    Gut erklärt, danke. Allerdings wird es bei Spamschutzdingen schon wieder kompliziert, da sich die meist nicht sauber integrieren. Da ist es dann vielleicht besser, die Felder ausführlich in das Theme zu schreiben.

    • Klaus sagt am

      bitte gerne! :)

      Mir persönlich hat die Art der comments.php vor WP3.0 besser gefallen. Da habe ich alles nach Herzenslust in dieser Datei definiert.

      Spams sind aber zum Glück dank Antispam Bee kein Problem bei mir. ;)

  7. peter sagt am

    Diese Angaben hier sind für Programmierer und deshalb keine Hilfe für solch banale Änderungswünsche. Das steht im krassen Gegensatz zur sonst einfachen Bedienung. Wie ich einfach einen Text ändern kann, nämlich “Hinterlasse eine Antwort” (Was ich in der Sprachdatei po durchgeführt habe aber nicht übernommen wird) ist mir nach wie vor unklar. Vielleicht könnte jemand eine vollständig nachvollziehbare Anleitung bereitstellen, wo konkrete Angaben der Datei in welchen Verzeichnis ect. sind.
    Für irgendwelche komplexen und verteilten Anweisungen, die Verständnis der Programmierung voraussetzen, ist die einfache Anforderung eine Überschrift zu ändern grotesk…

    • Klaus sagt am

      die Voraussetzungen um Änderungen am Kommentarformular durchzuführen beschränken sich im Grunde auf die fehlerfreie Beherrschung von copy/paste.
      Grundkenntnisse von WordPress, HTML, CSS setze ich einfach mal voraus, denn ohne diese ist das Rumwurschteln mit einem CMS reine Glückssache. ;)

Kommentiere diesen Artikel!

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Bitte maskiert < mit &lt; und > mit &gt; sonst verschwinden sie im Nirgendwo!

Nach oben