Twitter followers count using WordPress transients
Twitter followers count using WordPress transients
Many blogs, including this one, are displaying how many people are following them on Twitter. It’s quite easy to grab some json data, but it takes a significant amount of time. Using transients allow you to grab the json data from Twitter once a day, and store it in your database for future uses.
Simply paste the function below into your functions.php file:
function my_followers_count($screen_name = ‘kovshenin’){
$key = ‘my_followers_count_’ . $screen_name;
// Let’s see if we have a cached version
$followers_count = get_transient($key);
if ($followers_count !== false)
return $followers_count;
else
{
// If there’s no cached version we ask Twitter
$response = wp_remote_get(“http://api.twitter.com/1/users/show.json?screen_name={$screen_name}”);
if (is_wp_error($response))
{
// In case Twitter is down we return the last successful count
return get_option($key);
}
else
{
// If everything’s okay, parse the body and json_decode it
$json = json_decode(wp_remote_retrieve_body($response));
$count = $json->followers_count;
// Store the result in a transient, expires after 1 day
// Also store it as the last successful using update_option
set_transient($key, $count, 60*60*24);
update_option($key, $count);
return $count;
}
}
}
echo “I have ” . my_followers_count(‘kovshenin’) . ” followers”;