Kommentarfelder WordPress

Eingabefelder in WordPress Kommentaren anpassen

Kommentarfelder WordPress
Kommentarfelder WordPress

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
  • E-Mail
  • 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&ouml;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

8 Gedanken zu „Eingabefelder in WordPress Kommentaren anpassen“

  1. 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

    1. 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

  2. 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

  3. Hallo Klaus,
    ich möchte gerne die Überschrift der Textarea (Kommentar) ändern. Gibt es dafür auch einen zusätzlichen Code? Danke…
    Mfg
    Benjamin

    1. 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
      ));

  4. 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

    1. 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!!

Schreibe einen Kommentar

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

*