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

  • Removendo o /category/ do seu blog

    Na maioria das vezes o /category/ antes do nome da categoria é desnecessário em nosso blog, porém nativamente não é possível o retirar no WordPress. É possível retirar usando alguns plugins de SEO como o Yoast e o Rank Math, mas se você quer retirar isso sem usar plugins você pode modificar o arquivo .htaccess…

  • 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:

  • Como colocar expiração automatica de artigos no seu blog

    Uma vez que o WordPress não inclui por defeito uma função que permita ao editor definir quanto tempo um determinado artigo deverá ficar online, muitos editores sentem dificuldades em automatizar o periodo de expiração de artigos, tendo geralmente de recorrer a métodos manuais. Eis no entanto uma forma muito eficiente e engraçada de colocar expiração…

  • O WordPress é seguro mesmo?

    O WordPress é seguro mesmo?

    Utilizando o WordPress desde 2007 e participando de muitos eventos, grupos em redes sociais, fóruns e afins, algumas perguntas acabam se tornando bem repetitivas para mim, e o assunto deste post é uma delas. Nada contra a pergunta, quem utiliza o WordPress a pouco tempo ou ainda não conhece o sistema sempre vai se fazer esta…

  • Como exibir seu número total de seguidores no Twitter e Feedburner

    Recebi alguns emails nesta semana perguntando como exibir no blog o número de seguidores que o usuário X tem no Twitter. Alguns sites disponibilizam scripts para fazer tal exibição da contagem, porém em sua grande maioria não disponibilizam formas de se trabalhar este resultado. Pesquisando sobre como buscar tal resultado com maior liberdade de customização,…

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.