In einem typischen WordPress-Theme gibst du die gesamte Liste der Kommentare für einen Beitrag/eine Seite mit der Funktion wp_list_comments() aus. Dies bietet nicht viel Spielraum für die Anpassung des HTML-Markups, das für diese Kommentarliste generiert wird. Um dein eigenes Markup für die Kommentarliste zu schreiben, kannst du eine Callback-Funktion als Parameter in wp_list_comments() verwenden, so dass sie ebenso gut abstrahiert ist.
In functions.php
<?php
function my_custom_comments($comment, $args, $depth) {
$GLOBALS['comment'] = $comment; ?>
<li <?php comment_class(); ?> id="li-comment-<?php comment_ID() ?>">
<?php if ($comment->comment_approved == '0') : ?>
<em><?php _e('Your comment is awaiting moderation.') ?></em>
<?php endif; ?>
// Comments markup code here, e.g. functions like comment_text();
}
?>
In comments.php
<?php
wp_list_comments("callback=my_custom_comments");
?>
Direkt eingefügt bricht meine functions-Datei.
Gott, ich schwöre, es gibt fast NICHTS, das Kommentare für WP gründlich erklärt.
Ich stimme vollkommen zu. Ich baue mein erstes Theme und kann nirgends etwas finden, das eine gute "Tutorial-ähnliche" Aufschlüsselung der Anpassung des Kommentarbereichs gibt. SOOOO frustrierend.
Gott, ich könnte nicht mehr zustimmen..
Zum ersten Mal möchte ich eigene benutzerdefinierte Kommentare verwenden und finde nichts irgendwo?!
Warum teilt niemand etwas wirklich Hilfreiches?
Gute Theorie. Ich mag sie. Danke für das Posting
Danke.. sehr gut
Der Grund, warum es fehlschlägt, ist, dass das PHP-Tag am Ende nicht mit der schließenden Klammer geöffnet wird. Es sollte wie der obige Code aussehen.
Das war eine große Hilfe. Mit grundlegenden PHP-Kenntnissen und dem Hinzufügen einiger PHP-Tags funktioniert Ihr Code hervorragend. Ich empfehle, mit diesen Funktionen zu spielen, um das gewünschte Ergebnis zu erzielen
cancel_comment_reply_link(), comment_author(), comment_author_email(), comment_author_email_link(), comment_author_IP(), comment_author_link(), comment_author_rss(), comment_author_url(), comment_author_url_link(), comment_class(), comment_date(), comment_excerpt(), comment_form_title(), comment_form(), comment_ID(), comment_id_fields(), comment_reply_link(), comment_text(), comment_text_rss(), comment_time(), comment_type(), comments_link, comments_number(), comments_popup_link(), comments_popup_script(), comments_rss_link(), get_avatar(), next_comments_link(), paginate_comments_links(), permalink_comments_rss(), previous_comments_link(), wp_list_comments()
Tolle Ergänzung zum Beitrag. Vielen Dank! :)
Dieser Code ist extrem nützlich, wenn man bereits mit PHP vertraut ist, aber er ist nicht vollständig und bricht die functions.php-Datei. Ich habe jedoch damit experimentiert und eine Konvertierung vorgenommen, die direkt in die functions.php eingefügt werden kann.
Code bei PasteBin ansehen
Er ist getestet, aber nicht gründlich, also auf eigene Gefahr verwenden. Aber wenn Sie die von Ralph gepostete Liste von Funktionen verwenden, sollten Sie in der Lage sein, Ihre benutzerdefinierten Kommentare zu erstellen.
Stellen Sie sicher, dass Sie die gleiche
wp_list_comments("callback=my_custom_comments");verwenden, die Chris in Ihre comments.php-Datei eingefügt hat.
Danke ... habe das ein paar Tage gesucht.
Ich stimme zu, dass es schwierig war, Informationen zum benutzerdefinierten Styling von WordPress-Kommentaren zu finden. Hier ist die Funktion, die ich schließlich verwendet habe – ich hoffe, das hilft! … Sie ermöglicht viele Anpassungen. Ich habe auch eine Funktion zum Ändern des Standard-Gravatar-Bildes aufgenommen, wenn Sie Ihr eigenes Bild anstelle von "mystery man" oder den anderen Gravatar-Standards verwenden möchten. Link zu meinem Gist unten.
Hier ist der Gist, falls Sie die Datei herunterladen möchten :)
https://gist.github.com/4192115
Ich wäre sehr daran interessiert, daraus zu lernen. Planen Sie, ein Tutorial zu diesem Snippet zu erstellen? Vielen Dank im Voraus, falls ja :)
Vielen Dank, Rowe, für Ihr sehr geschätztes PHP-Code-Snippet. Dies ist definitiv die Art von Extra, die einen WordPress-Website aufwertet, ganz zu schweigen von CSS-Tipps und Tricks ;-)
Ich glaube, Sie haben vergessen, das schließende " Tag vor dem Schließen der Funktion hinzuzufügen.
Es sieht so aus, als wäre Ihr HTML dort durcheinander geraten, aber wenn Sie das
<li>-Tag meinten, sollten Sie es speziell weglassen. WordPress schließt sie bei Bedarf. Es braucht Sie, um das für verschachtelte Kommentare zu tun.Danke dafür, Chris. Ich lese schon lange mit. Persönlich mache ich mir keine allzu großen Sorgen um den Kommentarbereich meiner Website. Ich benutze einfach Disqus und liebe es. Super einfach zu verwalten. Nicht viel Anpassungsmöglichkeit, was für mich in Ordnung ist. Manchmal wollen meine Kunden aber mehr Anpassung, und da kann das hier sehr nützlich sein. Also nochmals vielen Dank!
Ich weiß, das ist ein alter Beitrag, aber ich bin mir immer noch nicht sicher, warum das Auslagern der Kommentar-Ausgabe hinter einem Callback in
wp_list_comments()besser ist als der alte Weg, bei dem das gesamte Markup offensichtlich war und in dercomments.php-Datei enthalten war.Wie kann ich eine Kommentarbox wie diese auf meiner WordPress-Website haben? Allerdings scheint der fett oder kursiv Teil nicht zu funktionieren!
Entschuldigung, ich nehme das zurück..es funktioniert..Ich würde gerne diese Kommentarbox auf meiner Website haben.
Danke fürs Teilen. Aber ich suche nach CSS für die Kommentar-Vorlage.
Vielen Dank
das war nützlich
Danke, Sir. Direkt auf den Punkt. :)
Ich habe gerade bemerkt, dass der Callback-Code in Ihrem Snippet etwas falsch ist – sollte lauten:
wp_list_comments("callback"=>"my_custom_comments");Hat sich diese API geändert? Anderer Best Practice?
Was gerade auf diesem Kommentar-Thread verwendet wird, den wir uns ansehen, ist