VK - получение кол-ва комментариев

VK - получение кол-ва комментариев

Виджет комментариев VK сейчас очень популярен, и задача получать отдельно от него количество весь распространена сегодня я хочу поделиться с вами двумя вариантами решения это задачи, а именно на php и на js через ajax

JavaScript

В данном скрипте я использую 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;
		$.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

На 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;
	$response = json_decode(file_get_contents($request))->response;
	$result = 0;
	if (isset($response->count)) {
		$result = $response->count;
	}
	return $result;
}

Скачать

Использование

О том как пользоваться возвратными функциями в php писать не буду, тут как говориться сами погуглите.