Daha önce size twitter takipçi sayısını metin olarak görüntülemenizi sağlayan ve Rarst tarafından katkıda bulunulan bir kod hakkında yazmıştık. Bu makalede, WordPress'te twitter takipçi sayısını görüntülemenizi sağlayan daha gelişmiş ve daha zarif bir kod paylaşacağız. Bu betik de yine Rarst tarafından katkıda bulunulmuştur.
Özellikler
Bu fonksiyon yalnızca takipçi sayısıyla sınırlı değildir. Twitter users/show API yöntemi tarafından döndürülen herhangi bir iç içe olmayan değeri alabilir.
İki seviyeli bir önbelleğe sahiptir:
- sorgulanan değerler, WP seçenekleri kullanılarak veritabanında $interval saniye boyunca dizi olarak saklanır;
- API yanıtları bellekte saklanır, böylece birden fazla API isteği oluşturmadan herhangi bir sayıda alanı sorgulayabilirsiniz.
Bu, API limitini aşma endişesi olmadan, aynı anda birden fazla değer ve birden fazla kullanıcı için güvenle kullanılabilir.
Eğitim
Öncelikle temanızın functions.php dosyasını açın ve aşağıdaki kodu ekleyin:
function rarst_twitter_user( $username, $field, $display = false ) {
$interval = 3600;
$cache = get_option('rarst_twitter_user');
$url = 'http://api.twitter.com/1/users/show.json?screen_name='.urlencode($username);
if ( false == $cache )
$cache = array();
// if first time request add placeholder and force update
if ( !isset( $cache[$username][$field] ) ) {
$cache[$username][$field] = NULL;
$cache[$username]['lastcheck'] = 0;
}
// if outdated
if( $cache[$username]['lastcheck'] < (time()-$interval) ) {
// holds decoded JSON data in memory
static $memorycache;
if ( isset($memorycache[$username]) ) {
$data = $memorycache[$username];
}
else {
$result = wp_remote_retrieve_body(wp_remote_request($url));
$data = json_decode( $result );
if ( is_object($data) )
$memorycache[$username] = $data;
}
if ( is_object($data) ) {
// update all fields, known to be requested
foreach ($cache[$username] as $key => $value)
if( isset($data->$key) )
$cache[$username][$key] = $data->$key;
$cache[$username]['lastcheck'] = time();
}
else {
$cache[$username]['lastcheck'] = time()+60;
}
update_option( 'rarst_twitter_user', $cache );
}
if ( false != $display )
echo $cache[$username][$field];
return $cache[$username][$field];
}
Kullanım
Fonksiyonu yapıştırdıktan sonra, kodu istediğiniz herhangi bir WordPress şablon dosyasında kullanabilirsiniz. Sadece aşağıdaki kodu yapıştırın:
echo rarst_twitter_user('wpbeginner', 'name').' has '.
rarst_twitter_user('wpbeginner', 'followers_count').' followers after '.
rarst_twitter_user('wpbeginner', 'statuses_count').' updates.';
Yukarıdaki kod şuna benzer bir şey gösterecektir:
WPBeginner, 1300 güncellemeden sonra 5846 takipçiye sahip.
Kaynak: Rarst


Aleks
Biri Twitter kullanıcı adımı nereye girdiğimi açıklayabilir mi lütfen? Çünkü gerçekten göremiyorum… Ve çalıştıramıyorum da… Ne yaparsam yapayım… Bu bana kullanıcı adını vermiyor, şu anda olduğu gibi tamamen basit bıraksam bile, kullanıcı adıyla ilgili hiçbir yanıt alamıyorum… Sadece şunu gösteriyor: "güncellemelerden sonra takipçileri var"...
Hepsi bu… başka hiçbir şey yok…
wpbeginner
Kullanım bölümünde, "wpbeginner" yerine kendi twitter adınızı yazın.
Downhill_MC
bu harika bir kod. metne gömmek için bir fonksiyon oluşturma olasılığı var mı acaba (something like ). downhill_mc
Sandeep
Bu kodları, örneklerinizde gösterdiğiniz gibi özel Twitter resmime nasıl eklemem gerektiğini bana söyler misiniz?
Yayın Kadrosu
CSS kullanmanız gerekir.. ne yazık ki bu sitede bununla ilgili eğitimler yazmıyoruz.
Yönetici
Ozh
(Gerçekten sözdizimi vurgulanmış ve temiz biçimlendirilmiş kodlar göstermelisiniz)
Rarst
time() ile 60 arasındaki + işaretini kaybettiğinizi yeni fark ettim
Yayın Kadrosu
Düzeltme için teşekkürler. Herkesin kullanması için harika kod parçacıkları sağladığınız için gerçekten minnettarız. Sıkı çalışmanız gerçekten takdir ediliyor.
Yönetici
Angelo Beltran
Güzel! Esnekliğini sevdim. Sağ olun.
Rarst
Glad you found it useful.
Old snippet still works but it got kinda outdated and spread around a lot – it was getting hard to answer questions and correct outdated parts all the time.
Bu biraz daha hacimli, ancak daha fazla veriyi ve aynı anda farklı kullanıcı adlarını göstermek için çok daha genişletilmiş işlevselliğe sahip.
Ayrıca onu daha düzgün bir şekilde sürdürmeyi planlıyorum, bu nedenle geri bildirimler ve öneriler blogumdaki sayfasında memnuniyetle karşılanır.