Персональный блог

В данном скрипте я использую JQuery, так что не забудьте его подключить.
function vkCommentsCount() {
$($('[data-vkcomments-cout]')).each(function () {
var element = $(this);
var url = element.data('vkcomments-cout');
if (url == '') {
var url = location.href;
}
var data = {};
data.widget_api_id = 0000000; // id приложения
data.url = url;
data.v = '5.18'
$.ajax({
type: 'POST',
dataType: 'jsonp',
url: 'https://api.vk.com/method/widgets.getComments',
data: data,
beforeSend: function() {
element.html('0');
},
success: function(success){
if (success.response.count > 0) {
element.html(success.response.count);
}
},
error: function(response){
console.log(response);
}
});
});
}
$(document).ready(function() {
vkCommentsCount();
});
Добавлением к элементу дата атрбут data-vkcomments-cout, при необходимости прописываем адрес страницы data-vkcomments-cout="https://site.ru/page"
На php я написал реализацию через возвратную функцию. Передаем url и функция возращает количество комментариев.
function getVKcommentsCount ($url = '') {
if (empty($url)) {
$url = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
}
if ($_SERVER['HTTPS'] == 'on') {
$url = 'https://'.$url;
}
else {
$url = 'http://'.$url;
}
$widget_api_id = 0000000;// Widget app id
$request = 'https://api.vk.com/method/widgets.getComments?widget_api_id='.$widget_api_id.'&url='.$url.'&v=5.18';
$response = json_decode(file_get_contents($request))->response;
$result = 0;
if (isset($response->count)) {
$result = $response->count;
}
return $result;
}
О том как пользоваться возвратными функциями в php писать не буду, тут как говориться сами погуглите.