
Will man seine Kommentarfunktion unter WordPress anpassen so steht als eine der ersten Aufgaben sicherlich die Anpassung der Eingabefelder zur Debatte.
Standardmäßig werden 4 Eingabefelder verwendet:
- Name
- URL
- Eingabetext
In diesem Beitrag möchte ich mich mit den Eingabefeldern 1 bis 3 beschäftigen. Nur diese drei Felder werden über einen Filter behandelt. Will man die Felder anpassen so ist in der function.php des Theme folgende Ergänzung notwendig.
// Anpassung der einzelnen Formularfelder function my_fields($fields) { $req = get_option( 'require_name_email' ); // Text des Namensfeldes aendern $fields['author'] = '<p class="comment-form-author">' . '<label for="author">' . 'Name' . '</label> ' . ( $req ? '<span class="required">*</span>' : '' ) . '<br/><input id="author" name="author" type="text" value="' . esc_attr( $commenter['comment_author'] ) . '" size="30"' . $aria_req . ' /></p>'; // Text des E-Mail-Feldes aendern $fields['email'] = '<p class="comment-form-email"><label for="email">' . 'Email (wird nicht veröffentlicht)' . '</label> ' . ( $req ? '<span class="required">*</span>' : '' ) . '<br/><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'] = ''; //$fields['url'] = '<p class="comment-form-url"><label for="url">' . 'Website' . '</label>' . // '<br/><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');
Betrachte ihr diesen Code so fällt sicher auf, dass ich das Feld für die URL (Webseite) auskommentiert habe und das Feld stattdessen mit leerem Inhalt versehen habe. Hintergrund ist das vermeiden von Spam.
Wenn man nicht will, dass Spammer und Suchmaschinenoptimierer Ihre Kommentare mit Links zu Ihrer Webseite hinterlassen, sollte man entweder
- die Freischaltung der Kommentare von Hand übernehmen.
- einen Spam Filter wie Akismet benutzen, der allerdings nur für private Zwecke (ohne Werbung) kostenlos ist
- oder die Eingabe von Webseiten in das entsprechende Input-Feld der Kommentare verhindern
Da ich den Nutzen der Webseitenangabe gering einschätze verzichte ich gerne auf diese Spamquelle
Hallo Klaus,
leider kann ich die Zeilen in der function.php nicht finden. Kannst Du mir sagen, wo sie ungefähr finde?
Vielen Dank.
Gruß
Doris
Die Zeilen findest du nicht! Der Code muss zusätzlich in deine function.php eingefügt werden.
Sicherlich sind dort schonandere function xxxx vorhanden.
Am besten ganz an den Anfang nach
Ich schaffe es nicht die Felder im Kommentar zu sehen. Ich hab den Code in der functions.php übernommen. Wie ist der Aufruf der comment_form in der comments.php? Vielen dank für die Hilfe.
Jörg
Der Standard ist:
Doku siehe: http://codex.wordpress.org/Function_Reference/comment_form
Ich verwende für die comments.php eine abgewandelte Version des Themes Twenty Ten
Für weitergehende Infos benötige ich einen Link zu Deiner Seite und die Angabe des Themes
Hallo Klaus,
ich möchte gerne die Überschrift der Textarea (Kommentar) ändern. Gibt es dafür auch einen zusätzlichen Code? Danke…
Mfg
Benjamin
Die Überschrift wird üblicherweise in der comments.php festgelegt.
Dort findest Du folgenden code:
comment_form ()
In diesen Code kannst du per array verschiedene Änderungen vornehmen –>siehe: WP Function
Einfachste Änderung:
comment_form (
array(
'title_reply' => 'Kommentar schreiben', //array kann um weitere Felder duch Kommatrennung ergaenzt werden
'comment_notes_after' => '' // Der Standardtext nach dem Kommentarfeld wird ausgeschaltet
));
Hallo,
danke für das hilfreiche Tutorial. Nachdem ich bei der Doku gescheitert war, habe ich dank des Textes meine Formularfelder mittels der functions.php geändert.
Ich habe bei mir im HTML5-Formular den inputs entsprechend die Typen zugewiesen. Beim Feld für eine Website muss dann ja vom User http:// vorangestellt werden. Dieses wollte ich gern dann bereits einfügen lassen, wenn der Nutzer ins Feld klickt, ich wollte das ursprünglich mit JavaScript realisieren, was aber wohl nicht ohne weiteres geht.
Ist das möglich, dass ich for onblur und onfocus da JavaScript verwende und wie muss das eingebunden werden?
Viele Grüße
Markus
Da ich im Ausland war, etwas späte Antwort, ich hoffe es reicht.
Ich würde mit placeholder arbeiten
Beispiel:
name=“url“ placeholder=“http://your-site-name.com“
Dies macht klar, dass http vor die Webseite gesetzt werden muss.
Da immer mehr Webseiten gesicherte Übertragung https:// verwenden wird vermieden, dass in diesen Fällen der falsche Eintrag zur Anwendung kommt!!
Moin Klaus,
wie und an welcher Stelle gebe ich dem Antwort-Kommentarfeld in WordPress ein upload-Feld für Bilder hinzu?
Gruß, Nico
@Nico
Sorry, dazu ist mir nichts bekannt
Gruß
Klaus