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 😀

Posts Similares

  • 7 verificações para fazer antes de publicar seu site/blog em WordPress

    Durante esses dias, eu fiz alguns testes em vários blogs no meu trabalho (+/- uns 100). Encontrei erros absurdos e ao mesmo tempo muito bobos.  Por isso me auto-convidei para escrever aqui no Tudo Para WordPress e compartilhar essa experiência com vocês. Esse post é apenas um “checklist” de coisas que você pode testar e…

  • Funções de usuários e Capacidades do WordPress – Parte 1: O básico

    Este artigo é parte de um tutorial dividido em três partes abordando o tópico dos usuários (users), funções (roles) e capacidades (capabilities) no WordPress. Esta série irá abordar a arquitetura e design dos user roles no WordPress; ressaltar as funções mais importantes para interação com usuários e gestão de roles e capabilities; e no último tutorial,…

  • Gerencie os Downloads feitos em seu site WordPress

    Atendendo mais uma dúvida de visitantes do Tudo Para WordPress, faço esta rápida postagem à pedido do amigo @OckTock Duas alternativas para você gerenciar e monitorar quais downloads disponibilizados estão fazendo sucesso entre seus visitantes:

  • Segurança: Alterando o prefixo do Banco de Dados do WordPress

    Uma das coisas incríveis do WordPress é que ele é um sistema de publicação dinâmica, que utiliza um banco de dados para armazenar informações de seu site: posts, opções e configurações de plugins e temas – todos estes dados são armazenados no banco de dados do seu site. É como se fosse cérebro da sua…

  • Erro Warning: sprintf() nos menus da atualização do 3.6

    Quem atualizou o WordPress semana passada, usando a linguagem pt_BR, com certeza viu o erro “Warning: sprintf(): Argument number must be greater than zero in …….\wp-admin\nav-menus.php on line 478” na tela de administração de menus. Após algumas horas de luta, consegui achar o problema que era um arquivo corrompido pela tradução do WordPress para português do Brasil. Esse erro…

  • Atalhos no WordPress

    Esta dica pode ajudar a facilitar muito a vida de quem precisa inserir grande número de informações dentro de um post escrevendo poucas linhas

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

9 Comentários

  1. 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.

  2. 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.