قرار دادن شمارشگر فیسبوک و توییتر و RSS در وردپرس



حتما شما هم تابحال وبسایتها و وبلاگهایی دیده اید که تعداد دنبال کنندگان فیسبوک یا توییتر یا RSS مطالب سایت خودشان را به صورت typography و چاپی نمایش می دهند . در این آموزش ما به شما یاد می دهیم که چگونه ما هم بتوانید این کار را در وردپرس خود انجام دهید و ظاهر سایت خود را زیباتر از گذشته کنید و دیگر نیازی به قرار دادن کدهایی که سایت شما را زشت میکرد نخواهید داشت .
انجام این کار برای فیسبوک و توییتر آسان است اما برای فیدبرنر (Feed Burnet)شما باید یک مرحله اضافه انجام دهید و آن هم این است که وارد اکانت فیدبرنر خود شوید و به قسمت Publicize بروید و گزینه Awareness API را فعال کنید .



قدم اول :
فایل functions.php قالب خود را باز کنید و کد زیر را در این فایل و بین یک تگ باز و بسته قرار دهید .
/**
 * Retrieve transient value.
 *
 * Returns a transient value, or updates that transient if it has expired.
 *
 * @param $name String. Name of the service, e.g. twitter
 * @return String. New transient value.
 */
function pbd_get_transient($name = 'twitter') {
	$transName = "pbd-transient-$name"; // Name of value in database.
	$cacheTime = 8; // Time in hours between updates.
 
	// Do we already have saved tweet data? If not, lets get it.
	if(false === ($trans = get_transient($transName) ) ) :
 
		// Make the name of the function that gets our transient value.
		$func = "pbd_get_$name";
		if(function_exists($func) ) {
			$trans = $func();
		} else {
			$trans = 'Function not found.';
		}
 
		// Did we get a positive number? If not, use the old value.
		if(!absint($trans) > 0)
			$trans = get_transient($transName . '-old');
 
		// Save our new transient, plus save it in the longer "backup" transient.
		set_transient($transName, $trans, 60 * 60 * $cacheTime);
		set_transient($transName.'-old', $trans, 3 * 60 * 60 * $cacheTime);
	endif;
 
	return $trans;
}

قدم دوم :

حالا باید به تک تک سرورهای مورد نظر برویم و مقادیری که لازم داریم را بدست بیاوریم . این کار به کمک API های ان ها بسیار ساده است . با فیسبوک شروع می کنیم٬کد زیر را در فایل Function.php قرار دهید :

/**
 * Get Facebook Page Fan Count.
 */
function pbd_get_facebook() {
	$json = wp_remote_get("http://graph.facebook.com/problogdesign");
 
	if(is_wp_error($json))
		return false;
 
	$fbData = json_decode($json['body'], true);
 
	return intval($fbData['likes']);
}

دقت کنید که در خط ۵ عبارت problogdesign را با نام صفحه خود در فیسبوک جایگزین کنید .
برای توییتر هم به همین صورت عمل کنید و کد زیر را در فایل Function.php قرار دهید :

/**
 * Get Twitter follower count.
 *
 * @return Int. Twitter follower number.
 */
function pbd_get_twitter() {
 
	$json = wp_remote_get
(
"http://api.twitter.com/1/users/show.json?screen_name=problogdesign");   if(is_wp_error($json)) return false;   $twitterData = json_decode($json['body'], true);   return intval($twitterData['followers_count']); }

دقت کنید که اینجا هم عبارت problogdesign را با نام توییتر خود عوض کنید .
وحالا برای فید برنر هم کد زیر را در فایل Function.php قرار دهید :

/**
 * Get RSS subscriber count from FeedBurner.
 *
 * @return Int. RSS follower number.
 */
function pbd_get_rss() {
	$xml = wp_remote_get
(
'http://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=problogdesign');   if(is_wp_error($xml)) return false;   $sxe = new SimpleXMLElement($xml['body']);   return intval($sxe->feed->entry['circulation']); }

باز هم دقت کنید که عبارت problogdesign را با نام فیدبرنر خود عوض کنید .


قدم سوم :
در مراحل قبلی شما ۴ عملکرد نوشتید که تعداد دنبال کنندگان را روی سرور خودتان ذخیره میکند و در این مرحله شما باید این اعداد را در سایت خودتان نمایش دهید . حالا به جایی که می خواهید این اعداد را نمایش دهید بروید و کد زیر را آنجا قرار دهید (مثلا در فایل Sidebar.php یا Index.php)
برای RSS :
<?php echo number_format(pbd_get_transient('rss') ); ?>

برای فیسبوک :
<?php echo number_format(pbd_get_transient('facebook') ); ?>

برای توییتر :
<?php echo number_format(pbd_get_transient('twitter') ); ?>
همچنین شما میتوانید از کد زیر برای نمایش دادن مجموع دنبال کنندگان استفاده کنید :
<?php
$sum = pbd_get_transient('rss') + pbd_get_transient('twitter') 
+ pbd_get_transient('facebook'); echo $sum; ?>

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد