Exibindo a quantidade de comentários do Facebook em seu post
ATENÇÃO: A API do Facebook foi alterada em Agosto de 2016, por isso a quantidade não é mais exibida e assim este código não funciona mais. Como não ficou claro se essa mudança é em definitivo ou não, mantivemos a postagem aqui mas provavelmente ela não funcionará mais.
Em um dos projetos que trabalhei recentemente, utilizamos os comentários do Facebook na página de cada post e vimos a necessidade de exibir em outras páginas, como na listagem de todos os posts, de posts de uma categoria, e alguns outros locais, a quantidade de comentários que esta página teve.
Utilizando os comentários do WordPress isto é uma tarefa simples, mas como pegar esta quantidade total de comentários em uma página diretamente pela API do Facebook? Descobri como, e segue neste post a solução.
Adicione o trecho abaixo no arquivo functions.php de seu tema (e caso ele não exista, crie-o):
function fb_comments($url){ $json = json_decode(file_get_contents('https://graph.facebook.com/?ids=' . $url)); return ($json->$url->comments) ? $json->$url->comments : 0; }
O código acima passa a url da página para a função e a utiliza para pegar todos os dados do facebook por sua API, decodificar o JSON retornado e pegar o campo que contém a quantidade total de comentários na página.
Para exibir tal quantidade no seu front-end, basta utilizar a seguinte função onde desejar, dentro do loop dos posts:
<?php echo fb_comment(get_permalink()); ?>
E pronto! Em 5 linhas de código seus problemas estão resolvidos 😀
Legal muito boa dica. Tem algum exemplo dele em funcionamento?
Até tenho isso em funcionamento, mas em um projeto de cliente que não posso revelar que fui eu que fiz, então não posso publicar o link..
Ótimas dicas amigo, valeu!
Exatamente isso q eu estava a procurar, vou implementar logo os comentários do facebook em meu site sobre Sushi!
Obrigado a todo equipe do Tudo para WP.
Show de bola, o melhor formulário que existe para blogs é o nativo do facebook. Ele gera fluxo e comentário de pessoas reais. Muito difícil ver fakes postarem pelo facebook.
Eu fiz e não deu certo, esta completo este código?
Sérgio, este post é de 2014, de lá pra cá a API do Facebook mudou e não exibe mais quantidade nos botões sociais.
Realmente não funciona, o problema disso seria a quantidade de requisições extras para carregar a API do Facebook.
É melhor não exibir a quantidade de comentários e se der inserir um lazy load no facebook comments, inclusive, existe um plugin para isso.
Como diz o primeiro parágrafo desta matéria, esse método não funcion mais desde Agosto de 2016.