WordPress: Kommentare ausgeben

Diese Woche habe ich einige interessante und coole Dinge entdeckt, dazu basteln wir aktuell am Blog meiner Frau und im Zuge dessen, musste ich mich wieder mit den Kommentaren auseinandersetzen. Erst wollte ich sie komplett selbst machen, habe dann aber im Codex geforstet und eine einfachere Lösung gefunden.

WordPress Kommentare

Wer in WordPress einmal ein Theme für ein Blog erstellt hat, weiß wie blöd es ist, eigene Kommentarbereiche zu gestalten. Nicht weil es schwer ist, sondern weil man nie weiß, wie man die Sache genau angehen soll. In meinen ersten Themes habe ich die noch komplett selbst gebastelt, was eigentlich überhaupt nicht notwendig ist.

Ich fing auf jeden Fall damit an, die Funktion get_comments() von WordPress zu verwenden und war dann erst einmal ein wenig mit dem Aufbau der Kommentare überfordert. Die Funktion ist noch immer die Gleiche, aber hier der funktionierende Schnipsel:

global $post;

$comments = get_comments([
  'post_id'      => $post->ID,
  'status'       => 'approve',
  'type'         => 'comment',
  'hierarchical' => 'threaded',
]);Code-Sprache: PHP (php)

Damit erhält man die Kommentare. Ganz einfach. (Während ich hier schreibe, fällt mir ein, dass ich gar nicht die Kommentare blöd, sondern das Formular blöd fand… egal)

Damit auch Kommentare auf der Seite veröffentlicht werden können, muss ein Formular her. Dafür sollte man zu erst die notwendigen Scripte einbinden:

add_action('comment_form_before', function() {
	if ( ! get_option( 'thread_comments' ) ) {
		return;
	}
	
	wp_enqueue_script( 'comment-reply' );
});Code-Sprache: JavaScript (javascript)

Im Anschluss kann das Formular dann mit der Funktion comment_form() ausgegeben werden. Ursprünglich habe ich hier immer versucht ein eigenes Formular zu erstellen, einfach weil ich dachte, dass ich comment_form() nicht genug individualisieren kann. Ist aber nicht so. Diese Funktion bietet einige Argumente, die du im Codex nachlesen kannst. Habe ich früher anscheinend übersehen, auf jeden Fall lassen sich alle bestehenden Felder damit anpassen bzw. mindestens die Klassen verändern, um bspw. Bootstrap oder UIkit verwenden zu können.

$fields = [
	'author' => '',
	'email'  => '',
	'url'    => '',
];

$args = [
	'id_form'              => 'commentform',
	'class_form'           => '',
	'comment_notes_before' => '',
	'title_reply_before'   => '<h3>',
	'title_reply_after'    => '</h3>',
	'comment_field'        => '',
	'fields'               => apply_filters( 'comment_form_default_fields', $fields ),
	'class_submit'         => '',
	'submit_field'         => '',
];

comment_form( $args );Code-Sprache: PHP (php)

Die Defaults der einzelnen Felder gibt es ebenfalls im Codex. Oben aufgelistete Argumente waren für mich aber am wichtigsten.

Fundstücke der Woche

Freelance Markplatz: Fiveer

Diese Woche wurde sCREWup.de von Caro veröffentlicht. Dort gibt es regelmäßige Podcasts zum Thema Koop-Gaming. Im Zuge dessen hat Caro nach einem Logo-Designer gesucht und eine Plattform gefunden, die es in sich hat. Ich persönlich hatte vorher nicht davon gewusst.

SVG Patterns: Hero Patterns

Dann habe ich auf Makerlog eine Seite entdeckt, die den Benutzern u.a. Javascript beibringen möchten. Auf dieser Seite (Code The Web) habe ich ein cooles Pattern von einer Platine gesehen, was ich auch bei mir einsetzen möchte, sobald ich an meinem Blog-Design arbeite. Auf jeden Fall eine coole Idee!

Die Seite Code The Web existiert leider nicht mehr. Die Patterns kann man sich aber noch immer mittels Hero Patterns herunterladen.

Schlusswort

Zum Schluss möchte ich noch den Blog von AAWP empfehlen, zumindest wenn man auf der Suche nach Informationen zur Amazon Product Advertising API ist. Ich wollte nämlich wissen, ob die Nutzung der API kostenlos ist. Dort bin ich fündig geworden: Kosten für die Nutzung der Amazon Product Advertising API