Facebook Kommentare in WordPress integrieren

Zu den meisten Weblogs wird zusätzlich eine Facebook Fanpage oder eine Facebook Profilpage geführt. Im Blog werden regelmäßig Artikel veröffentlicht. Auf Facebook wird entweder manuell oder automatisiert (zum Beispiel mit RSS Graffiti) auf die Postings im Blog verlinkt.

Das Problem:

Die eigentliche Diskussion zum Inhalt des Blogpostings findet anschließend auf Facebook statt und nicht im Blog.

Die Lösung:

Das Plugin getFacebookComments vergleicht die Einträge auf Facebook mit den Postings auf dem Blog. Wenn ein Eintrag auf Facebook die vollständige URL (!) eines Blogpostings beinhaltet, werden automatisch die Kommentare von Facebook nach WordPress kopiert.

Voraussetzungen:

PHP5 und cURL. Am einfachsten lässt sich das über die phpInfo überprüfen. Einfach eine neue PHP-Datei auf dem Webserver anlegen, diese nur mit den folgenden drei Zeilen füllen:
<?php
phpinfo ();
?>

Die Datei anschließend über den Browser aufrufen und nach folgendem Block suchen:

Installation:

Hier ganz runter scrollen und getFacebookComments herunterladen und den Ordner getFacebookComments aus der ZIP Datei in wp-content/plugins entpacken. Anschließend kann das Plugin ganz normal über das WordPress Backend aktiviert werden. Danach findet sich ein neuer Punkt unter Einstellungen der FB Comments heißt. Hier können allerdings nur zwei Dinge eingestellt werden: die Bezeichnung der Facebook Fanpage oder der Facebook Profilpage und ein Suffix für den Namen des Kommentatoren. Da dieses Suffix direkt an den Namen des Kommentatoren rangehängt wird, sollte dieses Feld geleert werden. Es gibt andere und schönere Wege den Kommentar zu kennzeichnen.

Im Anschluss an die Installation und die Aktivierung des Plugins muss noch ein CronJob eingerichtet werden, der das Kopieren der Kommentare regelmäßig anstößt. Bei den meisten Hostern sind CronJobs inkludiert, es gibt aber auch Anbieter im Web für kostenlose CronJobs. Der Aufruf des CronJobs zielt auf die cron.php (http://www.website.de/wp-content/plugins/getFacebookComments/cron.php). Bei den meisten CronJobs kann eine E-Mail-Adresse als Ziel für die echo-Ausgabe des Scripts definiert werden. Das ist sehr hilfreich, wenn man überprüfen will, ob der Script ordnungsgemäß funktioniert. Sobald der Script auf Daten zugreifen kann erfolgt eine echo-Ausgabe. Selbst dann, wenn keine Kommentare importiert werden! Zusätzlich ist es möglich, den Script manuell zu starten. Dazu müssen aber erst im Script die drei Zeilen
if (!isset($argc) || $argc < 1) {
exit;
}

mit führenden “//” auskommentiert werden. Anschließend kann der Script direkt über (http://www.website.de/wp-content/plugins/getFacebookComments/cron.php) aufgerufen werden.

Facebook Privatsphären-Einstellungen:

Sollte der Script an dieser Stelle eine leere Ausgabe zurückliefern und keine Kommentare importieren, sind vermutlich die Facebook Privatsphären-Einstellungen falsch gesetzt. Auch das lässt sich relativ einfach überprüfen. Der Script arbeitet mit der GRAPH API von Facebook. Was genau diese API vom eigenen Profil ausliefert kann man sich im Klartext anschauen. Einfach im Browser die Adresse http://graph.facebook.com/profilname/posts aufrufen. Vorher natürlich “profilname” durch den gewünschten Facebook Fanpage Namen oder Facebook Profilpage Namen ersetzen. Sind die Privatsphären-Einstellungen richtig gesetzt, bekommt man hier eine ziemlich umfangreiche Ausgabe der eigenen Posts mit allen Daten, Fakten und Kommentaren. Bleibt die aufgerufene Seite leer, sieht das so aus:
{
"data": [
]
}

Hier müssen die Privatsphären-Einstellungen entsprechend angepasst werden. Ganz wichtig hierbei ist: Geänderte Privatsphären-Einstellungen scheinen nur für zukünftige Posts zu gelten! Um eine geänderte Privatsphären-Einstellung also anschließend wirklich testen zu können, muss ein neues Posting auf der Facebook Fanpage bzw. Facebook Profilpage veröffentlicht werden. Möchte man seine Privatsphären-Einstellungen so belassen, wird es vermutlich ausreichen den Inhalt, dessen Kommentare nach WordPress kopiert werden sollen, explizit jeweils für “alle” freizugeben.

Styling:

Um den von Facebook importieren Kommentar entsprechend kennzeichnen, eignet sich ideal ein kleines Icon neben dem Namen des Kommentators. Da die Kommentare den comment_type “facebook” haben, lässt sich das relativ einfach mit folgender Ergänzung in der Kommentar-Schleife in der comments.php lösen:
<?php if ($comment->comment_type == 'facebook'): ?>
<span class="fbicon"></span>
<?php endif; ?>

und entsprechend in der CSS-Datei:
.fbicon {
display: inline-block;
width: 16px;
height: 0;
padding: 16px 0 0 0;
overflow: hidden;
background: url(pfad/zum/facebookIcon.gif) no-repeat;
}

Ergänzung vom 12.06.2011:
Ich habe gerade die Problematik mit dem Access Token überprüft. Aktuell läuft das Plugin nicht! Ein Zugriff auf die Graph Schnittstelle scheint aktuell nur über eine App möglich zu sein…

Ergänzung vom 17.07.2011:
Die Problematik mit dem Access Token scheint gelöst zu sein. Weiterführende Informationen gibts im Artikel Facebook Kommentare in WordPress integrieren – Teil 2

Quellen:
[1] [2]

Kommentar verfassen