<fb:comments-count>无法使用我的WordPress博客</fb:comments-count>

时间:2011-05-10 21:07:26

标签: facebook comments wordpress-plugin facebook-fql

我在WordPress上使用Facebook评论插件,评论框工作正常,但我想访问索引页面和单页面上的计数。在页面上,Facebook Javascript加载在页面上。

这是我使用的代码: <fb:comments-count href=<?php echo get_permalink() ?>/></fb:comments-count> comments

但它没有计算FB评论。

是否有一个简单的代码可以让我检索评论数量?

谢谢,

6 个答案:

答案 0 :(得分:3)

模板文件中的某处包含此功能:

function fb_comment_count() {

    global $post;
    $url = get_permalink($post->ID);

    $filecontent = file_get_contents('https://graph.facebook.com/?ids=' . $url);
    $json = json_decode($filecontent);
    $count = $json->$url->comments;
    if ($count == 0 || !isset($count)) {
        $count = 0;
    }
    echo $count;
}

在您的主页或任何地方使用它

<a href="<?php the_permalink() ?>"><?php fb_comment_count() ?></a>

有同样的问题,这个功能对我有用......如果你收到错误......试试看this

答案 1 :(得分:2)

这些评论通常不会出现在这里:

graph.facebook.com/?ids = [your url]

相反,它们很好地出现在

graph.facebook.com/comments/?ids = [your url]

因此最终解决方案的价值。

答案 2 :(得分:1)

ifennec的回答看起来很好,但实际上没有用(Facebook可能会改变一些东西,现在只返回股票数量)。

您可以尝试获取所有评论:

    $filecontent = file_get_contents(
        'https://graph.facebook.com/comments/?ids=' . $url);

并统计所有:

    $json = json_decode($filecontent);
    $content = $json->$url;
    $count = count($content->data);

    if (!isset($count) || $count == 0) {
       $count = 0;
    }
    echo $count;

这只是一个修复,直到facebook决定阅读有关fb:comments-count的常见问题解答,并发现它无效:)(http://developers.facebook.com/docs/reference/plugins/comments/是的,很棒的评论)。

顺便说一下,我在Drupal 7中应用了这个功能:)非常感谢ifennec,你给我指路了。

答案 3 :(得分:1)

这对我有用:

function fb_comment_count() {
  global $post;
  $url = get_permalink($post->ID);
  $filecontent = file_get_contents('https://graph.facebook.com/comments/?ids=' . $url);
  $json = json_decode($filecontent);
  echo(count($json->$url->comments->data));
}

答案 4 :(得分:0)

这已经解决了。

<p><span class="cmt"><fb:comments-count href=<?php the_permalink(); ?>></fb:comments-count></span> Comments</p>

问题在于我在使用'url'而不是'href'属性。

答案 5 :(得分:0)

只需将此功能放在 functions.php 中,然后将帖子网址传递给功能fb_comment_count ,只要在主题文件中调用它

即可
function fb_comment_count($url) {
$filecontent    = file_get_contents('https://graph.facebook.com/comments/?ids=' . $url);
$json           = json_decode($filecontent);
$content        = $json->$url;

echo count($content->comments->data);

}