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 desabilitar o aviso de atualização de versão do WordPress em seu dashboard

    Para se livrar deste aviso de atualização em seu dashboardh, adicione o seguinte código no arquivo functions.php: if ( !current_user_can( ‘edit_users’ ) ) { add_action( ‘init’, create_function( ‘$a’, “remove_action( ‘init’, ‘wp_version_check’ );” ), 2 ); add_filter( ‘pre_option_update_core’, create_function( ‘$a’, “return null;” ) ); } Simples e prático, e muito útil para aqueles que se irritam…

  • Dicas de Segurança no WordPress da Sucuri.net

    No dia 26 de abril de 2012 tivemos um ótimo Webinar sobre Segurança no WordPress ministrado por Dre Armada, CEO e Co-Fundador da Sucuri.net, empresa de segurança Digital, entitulado LockDown WordPress: Security Tips from Sucuri. As razões pelas quais você precisa proteger seu WordPress devem ser bastante óbvias (você não quer que as pessoas pensando que…

  • Utilizando o operador de módulo no loop

    Na maior parte das linguagens de programação existe um operador específico, por vezes esquecido pelos programadores, para operações de módulo. Seu símbolo, na maioria das linguagens, é a % (o que pode causar alguma confusão para os novatos). O PHP não foge à regra e também possui este operador de módulo, sendo o seu símbolo…

  • Como carregar o Contact Form 7 apenas na página de contato?

    Se você usa o plugin Contact Form 7 para gerar formulários de contato em seu site e é tão aficcionado por performance quanto eu, deve ter notado que este plugin adiciona seus arquivos .js e .css em TODAS as páginas de seu site mesmo que eles não sejam usados nelas. Ao ler o parágrafo acima,…

  • Entendendo o Date Query no WordPress 3.7

    Entendendo o Date Query no WordPress 3.7

    Muitas novidades interessantes foram divulgadas no lançamento do WordPress 3.7, e a que mais animou a comunidade de desenvolvimento foram as Date Query’s. Entendendo a Date Query O Date Query surgiu como um patch sugerido por Alex Mills, um desenvolvedor conhecido como Viper007Bond que introduziu a capacidade de fazer consultas baseadas em data complexas para buscar…

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.