
حتما
شما هم تابحال وبسایتها و وبلاگهایی دیده اید که تعداد دنبال کنندگان
فیسبوک یا توییتر یا 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;
?> |