Kommentare von privaten Beiträgen im Kommentare Widget anzeigen

Im September 2017 hatte ich einen Blogbeitrag dazu geschrieben, wie man Schlagwörter von privaten Beiträgen in der Tag-Cloud anzeigen lassen kann. Vor drei Wochen wurde in einem Kommentar gefragt ob etwas ähnliches auch für Kommentare aus privaten Beiträgen im Kommentare-Widget möglich sei. In diesem Beitrag möchte ich euch zu dieser Fragestellung eine kleine Lösung präsentieren.

Argumente für die Kommentare-Query filtern

Standardmäßig zeigt das Kommentare-Widget nur die letzten fünf Kommentare von öffentlichen Beiträgen an. Die Argumente der Query sehen wie folgt aus:

array (
  'number' => 5,
  'status' => 'approve',
  'post_status' => 'publish',
)

Wie fast immer gibt es auch hier einen Filter in WordPress, über den wie diese Standardwerte anpassen können:

function comments_of_private_posts( $args ) {
	if ( current_user_can( 'read_private_posts' ) ) {
		if ( ! is_array( $args['post_status'] ) ) {
			$args['post_status'] = array( $args['post_status'] );
		}
		$args['post_status'][] = 'private';
	}

	return $args;
}
add_filter( 'widget_comments_args', 'comments_of_private_posts' );

Dieser kleine Codeschnippsel prüft zuerst einmal die Berechtigungen des aktuellen Zugangs und ob dieser private Beiträge lesen kann (ihr könnt diese Bedingung auch eventuell weglassen, wenn alle auch die Kommentare auf private Beiträge sehen können sollen). Anschließend wird das post_status Argument in ein Array konvertiert, falls es noch keine ist. Zuletzt wird der Post-Status private angehängt und das Array zurückgegeben. Jetzt sollten alle Zugänge, die auch auf private Beiträge zugreifen können, die Kommentare zu solchen Beiträgen im Kommentare-Widget sehen. Alle anderen (nicht angemeldeten) sehen weiterhin nur Kommentare zu öffentlichen Beiträgen.

Fazit

Ich habe nie über private Beiträge und Kommentare zu diesen nachgedacht. Daher Danke an Irit für ihre Frage im Kommentar. Es hat mich auf die Idee zu diesem Blogbeitrage gebracht und glücklicherweise war die Lösung auch wirklich sehr einfach. Wenn ihr diese Funktion auch mal ausprobieren wollt, dann findet ihr den Code dazu wie immer in einem GIST. Hier könnt ihr euch auch wieder alles als ZIP-Datei runterladen und einfach als Plugin auf eurer Seite installieren.

Ihr braucht vielleicht nicht genau das gleiche für euren Blog, aber wie ihr sehen könnt kann man über diesen Filter auch beispielweise die Anzahl der angezeigten Kommentare oder andere Argumente ändern.

Falls ihr auch eine Frage zu einem meiner Beiträge habt, dann hinterlasst sehr gerne einen Kommentar. Vielleicht bringt es mich ja auf eine Idee für einen neuen Blogbeitrag und die Lösung hilft auch anderen.

Veröffentlicht von

Bernhard ist fest angestellter Webentwickler, entwickelt in seiner Freizeit Plugins, schreibt in seinem Blog über WordPress und andere Themen, treibt sich gerne bei den WP Meetups in Berlin und Potsdam herum und läuft nach Feierabend den ein oder anderen Halbmarathon.

Schreibe einen Kommentar

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