Количество комментариев Вконтакте и Facebook

После добавления комментариев от Вконтакте и Facebook захотелось сделать так, чтобы они были в разных блоках, которые переключаются вкладками.

Благодаря двум источникам: jQuery для блоков с вкладками и Совмещаем комментарии WordPress, Facebook и Вконтакте, успешно реализовал эту идею. Авторам этих постов мое merci beaucoup!

К каждому блоку комментариев у меня отображается количество, если оно есть.

Для этого необходимо в месте, где вы хотите видеть количество комментариев, добавить span-блоки с нужными id, затем загрузить эту информацию и добавить в эти блоки.

Пример блока:

Комментариев вконтакте: <span id="vk_comments_count">0</span>
 
Комментариев facebook: <span id="fb_comments_count">0</span>

Код для получения количества комментариев Вконтакте и Facebook:

// Получаем уникальный url текущей страницы:
var wp_permalink = "<?php the_permalink(); ?>";
 
// Комментарии Вконтакте
jQuery.getScript(
  '//vk.com/js/api/openapi.js',
  function() {
    // Инициализация VK
    VK.init({apiId: 3904727,onlyWidgets:true});
    // Запрашиваем комментарии для текущей страницы
    VK.Api.call(
        'widgets.getComments', {
             widget_api_id: "3904727",
             url: wp_permalink
        },
        function(r) {
            // Получаем количество комментариев
            var count = r.response.count;
            // Добавляем это количество в vk_comments_count
            jQuery('#vk_comments_count').html(count);
        }
    );
  }
);
 
// Комментарии Facebook
jQuery.getJSON(
    'https://graph.facebook.com/v2.1/?fields=share{comment_count}&id='+wp_permalink,
    function(data) {
        if (!data['share']) {
            return;
        }
        var count = data['share']['comment_count'];
        jQuery('#fb_comments_count').html(count);
    }
);

В этом коде есть проблема: количество комментариев Вконтакте отдает только мне, как администратору страницу. Есть вы знаете, как её решить — прошу в комментарии, благо теперь аж четыре системы для этого доступны.

Есть еще способ отображать количество комментариев Google+:

<div id="gp_comments_count"></div>
jQuery.getScript(
    'https://apis.google.com/js/plusone.js',
    function() {
        gapi.commentcount.render('gp_comments_count', {
            href: wp_permalink
        });
    }
);

Но у него другая проблема: он выдает не цифру, а фразу целиком вида «15 комментариев». Мне такой способ не подходит, возможно вам пригодится.

UPD: Последняя версия Facebook API — 2.7, так что замените 2.1 на 2.7 в строке запроса и все по-прежнему будет работать.

6 комментариев
  1. написал(а) Миха (18.07.2015 19:29)

    ВЫРУЧИЛ. СПАСИБОСССС

    1. написал(а) eJ (18.07.2015 19:45)

      Всегда пожалуйста!

  2. написал(а) Vlado (15.07.2016 11:37)

    Хрен что у вас с Facebook заработает, там уже OpenGraph 2.6 используется ))

    1. написал(а) eJ (15.07.2016 12:12)

      Внимательно посмотрите на вкладку Facebook слева от вкладки WordPress. Что вы видите? Опишите свои чувства.

      Я вот, например, вижу количество комментариев Facebook, а вы? Эта циферка получается кодом, который приведен в статье.

  3. написал(а) Alex (13.04.2018 14:18)

    «Есть проблема: количество комментариев Вконтакте отдает только мне, как администратору страницу» — удалось решить эту проблему?

    1. написал(а) eJ (23.04.2018 10:02)

      Да, удалось — отключил комментарии с Facebook и ВКонтакте к херам )

Добавить комментарий

Ваш e-mail не будет опубликован.