סופרים לייקים של פייסבוק, גוגל+, טוויטר ועוד עם PHP


Warning: Use of undefined constant get_the_title - assumed 'get_the_title' (this will throw an Error in a future version of PHP) in /home/customer/www/sagive.co.il/public_html/wp-content/themes/sagive/functions/misc-functions.php on line 305
get_the_title

בדיוק עכשיו סיימתי להכין ממשק פנימי אשר מציג לנו את כל הלייקים, פלוסים, טוויטים, שיתופים בלינקדין וכו של פוסטים ועמודים באתר שלנו. זה נוח לראות הכל במקום אחד!

אבל עוד לפני שאני מציע את הסקריפט ההוא שהכנו להורדה, הנה הפונקציות בהם אפשר להשתמש כדי להחזיר את הספירה החברתית שלכם לדף מסוים בהתאם לURL שלו ועם PHP.

זה לא מדריך PHP אז אני מניח שאתם מבינים דבר או שניים בPHP ויודעים כיצד לעשות שימוש בפונקציות הבאות והיכן להטמיע אותן באתר שלכם. זה דף שעוסק בספירת לייקים אז אל תשכחו לפרגן לנו עם לייק או טוויט.

הפונקציות עם הסברים

למתכנתים או לפחות לאלו שמבינים קצת PHP ביניכם ורוצים לשלב באתר שלהם פונקציה שתחזיר ספירה פשוטה של כמות השיתופים או הלייקים מרשת חברתית כלשהי בשפת PHP… הגענו לבשר של המדריך.

ספירת לייקים

הפונקציה הבאה תעזור לכם להחזיר ספירת לייקים בפייסבוק.

function fb_likes_count($url) {
	$result		=	json_decode(file_get_contents('https://graph.facebook.com/?ids='.$url));
	$shares		=	$result->$url->shares;
	
	if(!$shares) {$shares = 0;}
	
	return $shares;
}

// הדגמה של שימוש
echo fb_likes_count('https://sagive.co.il');

ספירת טוויטים

הפונקציה הבאה מחזירה את כמות הטוויטים / שיתופים שעשו לדף מסוים בטוויטר

function getTweetCount($url) {
    $url 				= urlencode($url);
    $twitterEndpoint 	= "https://urls.api.twitter.com/1/urls/count.json?url=%s";
    $fileData 			= file_get_contents(sprintf($twitterEndpoint, $url));
    $json 				= json_decode($fileData, true);
	
    unset($fileData); // free memory
    //print_r($json);
    return $json['count'];
}

// הדגמה של שימוש
echo getTweetCount('https://sagive.co.il');

ספירת +1

הפונקציה הבאה מחזירה את כמות ה+1'ים שעשו לדף מסוים באתר שלכם או לאתר עצמו בגוגל+

function get_gplus_count($url)  {
	$curl = curl_init();
	curl_setopt($curl, CURLOPT_URL, "https://clients6.google.com/rpc");
	curl_setopt($curl, CURLOPT_POST, true);
	curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
	curl_setopt($curl, CURLOPT_POSTFIELDS, '[{"method":"pos.plusones.get","id":"p","params":{"nolog":true,"id":"'.rawurldecode($url).'","source":"widget","userId":"@viewer","groupId":"@self"},"jsonrpc":"2.0","key":"p","apiVersion":"v1"}]');
	curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-type: application/json'));
	$curl_results = curl_exec ($curl);
	curl_close ($curl);
	$json = json_decode($curl_results, true);
	return isset($json[0]['result']['metadata']['globalCounts']['count'])?intval( $json[0]['result']['metadata']['globalCounts']['count'] ):0;
}

// הדגמה של שימוש
echo get_gplus_count('https://sagive.co.il');

לפונקציות הבאות נדרשת פונקציית עזר:

הסבר קצר: בהמשך אנו נבדוק כמו שיתופים יש בלינקדין, פינטרסט ודלישס. בכדי לחסוך המון קוד כתבנו פונקציה קצרה בה נשתמש בשילוב עם הפונקציה להחזרת כמות השיתופים ולכן יש להכליל אותה באותו דף.

function file_get_contents_curl($url){
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
	curl_setopt($ch, CURLOPT_FAILONERROR, 1);
	curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
	curl_setopt($ch, CURLOPT_TIMEOUT,30);
	$cont = curl_exec($ch);
	if(curl_error($ch)) {die(curl_error($ch));}
	return $cont;
}

שיתופים בלינקדין

הפונקציה הבאה (אני מזכיר: בשיתוף הפונקציה הקודמת) תחזיר כמות שיתופים של URL בלינקדין

function get_linkedin_count($url) { 
	$json_string = file_get_contents_curl("https://www.linkedin.com/countserv/count/share?format=json&url=$url");
	$json = json_decode($json_string, true);
	return isset($json['count'])?intval($json['count']):0;
}

// הדגמה של שימוש
echo get_linkedin_count('https://sagive.co.il');

שיתופים בדלישס

פונקציה אשר תחזיר את כמות האזכורים של דף מסוים בדלישס

function get_delicious($url) {
	$json_string	= file_get_contents_curl('https://feeds.delicious.com/v2/json/urlinfo/data?url='.$url);
	$json 			= json_decode($json_string, true);
	return isset($json[0]['total_posts'])?intval($json[0]['total_posts']):0;
}

// הדגמה של שימוש
echo get_delicious('https://sagive.co.il');

אזכורים בפינטרסט

פונקציה קטנה אשר בודקת את כמות האזכורים בפינטרסט

function get_pinterest() {
	$return_data = file_get_contents_curl('https://api.pinterest.com/v1/urls/count.json?url='.$url);
	$json_string = preg_replace('/^receiveCount((.*))$/', "\1", $return_data);
	$json = json_decode($json_string, true);
	return isset($json['count'])?intval($json['count']):0;
}

// הדגמה של שימוש
echo get_pinterest('https://sagive.co.il');

סיימנו, יש שאלות?

אני מקווה שמצאתם את הפונקציות לשימושיות. שימו לב להסבר באמצע למי שרוצה להחזיר ספירה מדלישס, פינטרסט ולינקדין. אם יש לכם שאלות ואתם בטוחים שקראתם ה-כ-ל?! אתם מוזמנים להשתמש בטופס התגובות ונשמח לעזור. מקווה שאהבתם והמון בהצלחה.

  • אהבתם? שתפו!