Hack: Facebook- und WordPress-Kommentarzähler vereinen
Problem beim Plugin: Facebook Comments For WordPress
Wenn man beide Kommentarmöglichkeiten, die alte Funktion von WordPress und die neue von Facebook, anbieten möchte, muss man sich entscheiden, ob man den Kommentarzähler von Facebook oder von WordPress anzeigen lässt. Dass beide zusammen auch funktionieren sollen, ist bekannt. Jedoch hat keine Einstellung zum gewünschten Ergebnis geführt.
Deshalb hier ein Hack für WordPress, um die Anzahl der Facebook-Kommentare hinzuaddieren zu können.
Lösung:
Zunächst hier die Einstellungen des Plugins.
Wählen Sie „v2 only“ aus und setzen Sie kein Häckchen bei „Combine WordPress and Facebook comment counts“. Das führt dazu, dass nur der WordPress-Zähler angezeigt wird.
Danach fügen Sie in die Datei wp-includes/comment-template.php ab Zeile 573 der Funktion „comments-number“ folgendes hinzu:
function comments_number( $zero = false, $one = false, $more = false, $deprecated = '' ) {
if ( !empty( $deprecated ) )
_deprecated_argument( __FUNCTION__, '1.3' );
$url = get_permalink(get_the_ID());
$filecontent = file_get_contents('https://graph.facebook.com/?ids=' . $url);
$json = json_decode($filecontent);
$fbNumber = $json->$url->comments;
if ($fbNumber == 0 || !isset($fbNumber)) {
$fbNumber = 0;
}
$number = get_comments_number()+$fbNumber;
Das war schon alles. Danach wird die Anzahl der Facebook-Kommentare zum WordPress-Zähler hinzuaddiert.
Erklärung:
Wenn Sie in Ihrem Browser z.B. die URL https://graph.facebook.com/?ids=https://www.mbdus.de/wordpress-plugins-die-sie-unbedingt-benoetigen/ aufrufen erhalten Sie eine Antwort von Facebook, die in etwa so aussieht:
{
https://www.mbdus.de/wordpress-plugins-die-sie-unbedingt-benoetigen/": {
"id": "https://www.mbdus.de/wordpress-plugins-die-sie-unbedingt-benoetigen/",
}
}
Und wenn schon „Comments“ oder „Shares“ vorliegen erhalten Sie folgendes zurück:
{
https://www.mbdus.de/wordpress-plugins-die-sie-unbedingt-benoetigen/": {
"id": "https://www.mbdus.de/wordpress-plugins-die-sie-unbedingt-benoetigen/",
"shares": 1,
"comments": 1
}
}
Wenn Ihnen die Lösung weitergeholfen hat, würde ich mich über ein “Like” oder ein Kommentar sehr freuen. Danke!