WordPress: Adună numărul comentariilor de pe blog cu numărul comentariilor de pe Facebook

În momentul în care te hotărăşti să-ţi pui şi formularul de comentarii Facebook pe lângă cel normal, vei observa că în orice loc din template-ul tău unde se numără comentariile, vor apărea numărate doar cele normale, de pe blog. E un lucru normal, aş spune, pentru că WordPress-ul e făcut să-şi numere singur comentariile, nu să le numere şi pe cele din alte părţi.

Pentru că mi s-a atras atenţia că numărul comentariilor nu e cel bun de când am introdus Facebook Comments, am încercat să caut o soluţie pentru a face modificarea. Azi am găsit tutorialul de-aici şi pentru că mie mi-a ieşit modificarea, mă gândeam să vă spun şi vouă ce şi cum.

Se presupune că aveţi deja Facebook Comments instalat, deci asta n-o să mai explic. Aşadar:

1. În folderul temei tale, o să găseşti un fişier care se numeşte functions.php. Deschide-l cu orice editor de text (Notepad, Notepad++, Sublime Text Editor – eu folosesc Sublime) şi, la sfârşitul fişierului, adaugă codul de mai jos.

// Aduna comentariile blogului cu cele ale Facebook-ului
function full_comment_count() {
global $post;
$url = get_permalink($post->ID);
$filecontent = file_get_contents(‘http://graph.facebook.com/?ids=’ . $url);
$json = json_decode($filecontent);
$count = $json->$url->comments;
$wpCount = get_comments_number();
$realCount = $count + $wpCount;
if ($realCount == 0 || !isset($realCount)) {
$realCount = 0;
}
return $realCount;
}

Tocmai am creat o funcţie menită să numere toate comentariile, atât cele venite de la Facebook, cât şi cele de pe blog şi să le adune.

2. Modifică în temă funcţia care numără comentarii. Caută în tema ta o funcţie asemănătoare cu asta:

<?php comments_popup_link(‘0 comentarii’,’1 comentariu’,’% comentarii’); ?>

Dacă ai o temă mai nouă, modificarea se face doar în loop.php şi comments.php, dar dacă-i una mai veche, o să găseşti linia aia de cod şi în single.php şi în archive.php şi în page.php, index.php şi în multe alte locuri. Sfatul meu ar fi să deschizi toate fişierele temei şi să cauţi, asta dacă nu ştii prea multe despre WordPress ca să-ţi dai seama unde trebuie făcută modificarea.

Bun, dacă ai găsit funcţia, înlocuieşte-o cu:

<?php
$commentCount = full_comment_count();
if ( $commentCount == 0 ) {
echo ‘Niciun comentariu’;
}
else if ( $commentCount == 1 ) {
echo ‘Un comentariu’;
}
else {
echo ” . $commentCount . ‘ comentarii’;
}
?>

Ar trebui ca de acum în colo, peste tot pe unde apare numărul comentariilor, să se adune atât cele de pe Facebook cât şi cele de pe blog.

P.S.: WordPress-ul modifică de obicei codurile pe care le pun în articole. Dacă faceţi tot ce-am spus, dar observaţi că ceva nu merge, încercaţi să ştergeţi toate ghilimelele de genul ăsta ‘ şi să le scrieţi voi de la tastatură.

    1. Ana- marți, 2 octombrie 2012, 16:03
      • Cristian Florea marți, 2 octombrie 2012, 17:30
    2. Emilia marți, 2 octombrie 2012, 17:54
      • Cristian Florea marți, 2 octombrie 2012, 18:39
    3. daniel rus marți, 2 octombrie 2012, 23:50
      • Cristian Florea miercuri, 3 octombrie 2012, 0:24
    4. dan vineri, 21 decembrie 2012, 11:06
      • Cristian Florea vineri, 21 decembrie 2012, 16:05

    Adaugă un comentariu