Anpassen von Kommentaren in WordPress - Funktionalität und Aussehen

In WordPress gibt es verschiedene Inhaltstypen wie Post, Seite und Kommentare usw. Diese bilden die Grundlagen von WordPress. WordPress ist eine äußerst anpassbare Plattform, mit der Sie sehr grundlegende Typen an Ihre Website anpassen können. Sie können sowohl das Aussehen als auch die Funktionalität der Basistypen ändern, damit sie sich entsprechend dem Erscheinungsbild und der Funktionalität Ihrer Website verhalten. In diesem Artikel werden wir sehen, wie wir das Verhalten und das Erscheinungsbild der Kommentare auf unserer WordPress-Site ändern können.


Schritt 1 Verständnis der Kommentarformular Funktion und ihre Argumente

Werfen wir einen Blick auf die WordPress-Funktion Kommentarformular. Dies ist für das Anzeigen des Kommentarformulars verantwortlich, das meistens auf der einzelnen Seite oder im Post in WordPress angezeigt wird. Ein Aufruf dieser Funktion ist meistens im zu sehen comments.php Datei Ihres Designordners. Dann würde diese Datei an verschiedenen Stellen enthalten sein single.php, page.php, etc. direkt oder durch anrufen der Kommentarvorlage Funktion.

Weitere Details finden Sie unter Kommentarvorlage im WordPress-Codex.

Wenn wir das benutzen Kommentarformular Wenn Sie das Formular anzeigen, wird das Formular mit den Standardparametern angezeigt, die Felder wie Name, E-Mail-Adresse (beide obligatorisch), Website und der Kommentar enthalten. Im Standarddesign von Twenty Eleven sieht das Formular folgendermaßen aus.

Einige wichtige Argumente für die Kommentarformular Funktion sind:

  • Felder - So können Sie tatsächlich steuern, welche Felder im Kommentarformular angezeigt werden.
  • comment_notes_vorauf und comment_notes_after - Diese werden verwendet, um vor oder nach dem Kommentarformular eine Notiz anzuzeigen.
  • title_reply - Hiermit können Sie den Titel der Antwort ändern, die standardmäßig "Hinterlasse eine Antwort" ist..
  • label_submit - Dies kann verwendet werden, um den Text über die Schaltfläche "Senden" des Kommentars zu ändern.

Schritt 2 Anpassen Ihres Kommentarformulars mithilfe der Funktion Kommentarformular

Lassen Sie uns nun unser Kommentarformular anpassen, indem Sie verschiedene Argumente an übergeben Kommentarformular.

Wenn wir die Felder des Kommentarformulars anpassen möchten, können wir die Felder an das Feld übergeben Kommentarformular Funktion. Die Standardfelder in der Kommentarformular Funktion sind wie folgt:

 $ fields = array ('author' => ')

'. ' '. ($ req? '*': ").'

',' email '=>'

'. ($ req? '*': ").'

',' url '=>'

'. '

',);

Wenn Sie also das Webseitenfeld entfernen möchten, müssen Sie die Felder ohne das Webseitenfeld wie folgt erstellen und an das übergeben Kommentarformular.

 $ commenter = wp_get_current_commenter (); $ req = get_option ('required_name_email'); $ aria_req = ($ req? "aria-required =" true "": "); $ fields = array ('author' => ')

'. ' '. ($ req? '*': ").'

',' email '=>'

'. ($ req? '*': ").'

',); $ comments_args = array ('fields' => $ fields); comment_form ($ comments_args);

Wenn wir nun das Kommentarformular sehen, wird es wie folgt aussehen:

Zusätzlich ändern wir jetzt den Titel der Antwort in "Bitte geben Sie uns Ihren wertvollen Kommentar" und ändern Sie auch den Titel des Kommentartasters in "Senden Sie meinen Kommentar"..

Nachfolgend die Argumente, auf die wir weitergehen werden Kommentarformular um das zu erreichen:

 $ commenter = wp_get_current_commenter (); $ req = get_option ('required_name_email'); $ aria_req = ($ req? "aria-required =" true "": "); $ fields = array ('author' => '

'. ' '. ($ req? '*': ").'

',' email '=>'

'. ($ req? '*': ").'

',); $ comments_args = array ('fields' => $ fields, 'title_reply' => 'Bitte geben Sie uns Ihren wertvollen Kommentar', 'label_submit' => 'My Comment' senden); comment_form ($ comments_args);

Wenn wir nun das Kommentarformular sehen, sieht es folgendermaßen aus:


Schritt 3 Entfernen von Feldern aus dem Kommentar zur Verwendung von Hooks

Das WordPress-Kommentarformular kann auch mithilfe von Hooks und Filtern angepasst werden. Das Anpassen mit Hooks / Filtern ist sehr nützlich, insbesondere wenn Sie über ein Plugin anpassen und die Designdateien nicht ändern können. Der Filter zum Hinzufügen oder Entfernen von Feldern aus dem Kommentarformular lautet 'comment_form_default_fields'

Lassen Sie uns nun das URL-Feld mit diesem Filter entfernen. Den Code dazu können Sie entweder in Ihre Plugin-Datei einfügen, wenn Sie das Plugin oder das Plugin anpassen Functions.php Datei Ihres Designs.

Der Code lautet wie folgt:

 Funktion remove_comment_fields ($ fields) unset ($ fields ['url']); $ Felder zurückgeben;  add_filter ('comment_form_default_fields', 'remove_comment_fields');

Hier fügen wir die Funktion hinzu remove_comment_fields auf der 'comment_form_default_fields'filtern und dann die Einstellung aufheben url Feld, um das Website-Feld zu entfernen.


Schritt 4 Hinzufügen weiterer Daten zu Ihren Kommentaren mithilfe von Hooks

Wir können dem Kommentar sogar Felder hinzufügen, um die 'comment_form_default_fields'filtern. Fügen wir nun das Altersfeld eines Kommentarautors mit diesem Filter hinzu, speichern Sie dieses Feld dann als Kommentar-Meta und zeigen Sie es im Kommentar an.

Wir können ein Feld wie folgt hinzufügen:

 Funktion add_comment_fields ($ fields) $ fields ['age'] = '

'. '

'; $ Felder zurückgeben; add_filter ('comment_form_default_fields', 'add_comment_fields');

Sobald wir das Feld je nach Thema hinzugefügt haben, möchten wir es möglicherweise formatieren. Da ich das Twenty Eleven-Thema verwende, stelle ich es durch Hinzufügen zur Verfügung #respond .com-Formular-Altersbeschriftung mit den anderen Labels Stil #respond .comment-form-url label usw. wie folgt:

 #respond .comment-form-author label, #respond .comment-form-email label, #respond .comment-form-url label, #respond .comment-form-age-label, #respond .comment-form-comment label  Hintergrund: #eee; -webkit-box-shadow: 1px 2px 2px rgba (204,204,204,0,8); -moz-box-shadow: 1px 2px 2px rgba (204,204,204,0,8); Box-Schatten: 1px 2px 2px rgba (204,204,204,0,8); Farbe: # 555; Anzeige: Inline-Block; Schriftgröße: 13px; links: 4px; min-Breite: 60px; Polsterung: 4px 10px; Position: relativ; oben: 40px; z-Index: 1; 

Wenn wir nun das Kommentar-Formular sehen, wird das Alter-Feld wie folgt angezeigt:

Nun, da das Alter als Kommentar-Meta gespeichert ist, müssen wir uns in 'comment_post'und speichern Sie das Alter als Kommentar-Meta wie folgt:

 Funktion add_comment_meta_values ​​($ comment_id) if (isset ($ _ POST ['age'])) $ age = wp_filter_nohtml_kses ($ _ POST ['age']); add_comment_meta ($ comment_id, 'age', $ age, false);  add_action ('comment_post', 'add_comment_meta_values', 1);

Nachdem das Meta gespeichert wurde, kann es wie folgt im Kommentar angezeigt werden:

 comment_ID, 'age', true); ?>

Schritt 5 Anpassen von Kommentaren für bestimmte Beitragstypen

Es kann manchmal nützlich sein, einige Kommentarfelder nur für bestimmte Beitragstypen zu haben. Jetzt können Sie Codeänderungen vornehmen, um das Alterskommentarfeld nur dann anzuzeigen, wenn es sich um einen benutzerdefinierten Beitragstyp handelt, wie etwa "book".

Der Code für das Alter nur für benutzerdefinierte Posttypen von Büchern lautet:

 Funktion add_comment_fields ($ fields) if (is_singular ('books')) $ fields ['age'] = '

'. '

'; $ Felder zurückgeben; add_filter ('comment_form_default_fields', 'add_comment_fields');

Hier fügen Sie das Feld nur dann hinzu, wenn es vom Typ 'Bücher' ist..


Schritt 6 Rückruf zum Anzeigen von Kommentaren erstellen

Die Funktion wp_list_comments wird verwendet, um die Kommentare zu einem Beitrag anzuzeigen. Sie können über lesen wp_list_comments im WordPress-Codex.

wp_list_comments hat ein Argument von 'Ruf zurück', in dem Sie die Funktion angeben können, die zur Anzeige des Kommentars zurückgerufen werden soll.

Im zwanzig elf thema in comments.php Sie werden eine Zeile sehen:

 wp_list_comments (array ('callback' => 'twentyeleven_comment'));

Dies werden wir ändern zu:

 wp_list_comments (array ('callback' => 'my_comments_callback'));

Also die Funktion my_comments_callback wird für jeden Beitrag aufgerufen.


Schritt 7 Gestalten Sie Ihre Kommentare

Jetzt werden wir unseren Beitrag etwas anders gestalten. Wir möchten nur den Inhalt des Beitrags und das Altersfeld anzeigen, das wir speziell hinzugefügt haben. Wir ändern auch die Hintergrundfarbe der Kommentare.

Der Code für die Funktion 'my_comments_callback' ist wie folgt:

 Funktion my_comments_callback ($ comment, $ args, $ depth) $ GLOBALS ['comment'] = $ comment; ?> 
  • >

    comment_ID, 'age', true); ?>

    __( 'Antworten ',' twentyeleven '),' depth '=> $ depth,' max_depth '=> $ args [' max_depth ']))); ?>
  • Wir ändern auch die Hintergrundfarbe wie folgt:

     .Kommentarliste> li.comment background: # 99ccff; Rahmen: 3px fest #ddd; -moz-border-radius: 3px; Grenzradius: 3px; Marge: 0 0 1,625em; Polsterung: 1.625em; Position: relativ; 

    Wenn wir nun die Kommentare sehen, werden sie wie folgt aussehen:


    Fazit

    Kommentare spielen beim Aufbau einer Community-Site eine wichtige Rolle. Je nach Site kann auch die Funktionalität der Kommentare entsprechend angepasst werden. WordPress bietet ein flexibles Kommentarsystem und eine gute Unterstützung durch Funktionen zum Ändern des Verhaltens und des Erscheinungsbildes der Kommentare Ihrer Website. Viel Spaß beim Anpassen Ihrer WordPress-Site!

    Teilen Sie uns in den Kommentaren unten mit, ob Sie weitere Vorschläge zur Anpassung von Kommentaren auf Ihrer WordPress-Site haben.