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

  • Como adicionar um favicon para seu site WordPress

    Vamos a uma dica muito legal para adicionar um favicon ao seu blog no WordPress, encontrada no Blog do The Best e ajustada e simplificada para tirar a dúvida de uma visitante de nosso blog que me mandou um email e motivou esta dica 🙂 O que é o tal do favicon? Ele nada mais…

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

  • Alterando o link de login do WordPress

    Como já é de conhecimento de todos que estão familiarizados com nosso querido WordPress, a url padrão para login em nosso sistema é: Entretanto, quando fazemos um site em WordPress para um cliente a coisa já caminha de um modo diferente. Sim minha gente, já recebi ligação perguntando “Como eu entro mesmo no WordPress ?…

  • Como alterar o logotipo da página de login do WordPress

    Por padrão, em todo site em WordPress que desenvolvemos, a página de login presente em seusite.com.br/wp-login.php possui o logo oficial do WordPress. Entretanto, muitos demonstram a vontade de alterar esta logo para a logo de seu site. Há um modo de alterar este logo e é isto que veremos na dica de hoje.

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

  • Protegendo o nome de usuários registrados em seu WordPress

    Esta modificação em seu WordPress irá checar se o nome ou e-mail usado pelo usuário que comenta sem estar logado é igual ao de algum usuário registrado nele. Primeiro, teremos a checagem se o autor do comentário está logado. Se não estiver, o nome e email serão comparados com os registrados no banco de dados. …

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.