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"><</span> mit <span class="maskierung">&lt;</span>und <span class="maskierung">></span> mit <span class="maskierung">&gt;</span> sonst verschwindensie 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 Kommentarformularsfunction 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.
Diese Info hatte ich gesucht, Hinterlasse eine Antwort war einfach unpassend!
Danke
Bitte gerne.
Sehr schön! Genau das was ICH gesucht habe! Bzw. was mir erst einmal weiter hilft! Danke schön!
Ich danke dir ganz herzlich! Hat prima funktionukkelt:
http://projekt0.org/?p=1
schön zu hören das es nützlich für dich war.
Pingback: Chat-Thread - Seite 1839 - XHTMLforum
Pingback: IE9 ungewollt im Kompat-Modus - XHTMLforum
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.
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.
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…
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.