Vlasnik ste bloga sa zavidnim brojem korisnika koji vas prate putem FeedBurner RSS kanala i Twittera? Zašto tu brojku čitalaca ne biste podijelili sa drugim posjetiteljima ili jednostavno za sebe imali negdje podatak koliko je takvih ljudi?
Svaki od ovih online servisa nudi tu mogućnost sa gotovim skriptama, no u ovom tutorijalu ću vam pokazati kako te brojke možete zbrojiti i prikazati kao jednu, obzirom da su pretplatnici i foloweri isto.
Ono što trebate imati minimalno PHP 5.0., naravno FeedBurner RSS kanal i Twitter račun.
Dohvaćanje broja FeedBurner RSS pretplatnika
Prije no što počnete provjerite dali ste aktivirali FeedBurner “Awareness API” koji se nalazi pod tabom “Publicize” u postavkama FeedBurner računa.
PHP kod za dohvaćanje broja pretplatnika RSS FeedBurnera je
$fbAcc = "tutorijali-hdonweb"; // FeedBurner RSS prefiks urla
// FeedBurner RSS pretplatnici
$fbUrl = "https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=".$fbAcc;
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $fbUrl);
$podaci = curl_exec($ch);
curl_close($ch);
$xml = new SimpleXMLElement($podaci);
$fb = $xml->feed->entry['circulation']; // broj FeedBurner pretplatnika
Ne zaboravite upisati vaš FeedBurner url u varijabli $fbAcc, FB RSS link ovog bloga je https://feeds.feedburner.com/tutorijali-hdonweb i kao što vidite moj prefiks linka je tutorijali-hdonweb.
Dohvaćanje broja Twitter folowera
$twAcc = "hdonweb"; // Twitter user
// Twitter foloweri
$twUrl = "https://twitter.com/statuses/user_timeline.xml?id=".$twAcc."&count=1";
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $twUrl);
$podaci = curl_exec($ch);
curl_close($ch);
$xml = new SimpleXMLElement($podaci);
$tw = $xml->status->user->followers_count; // broj Twitter folovera
Ne zaboravite zamjeniti vrijednost varijable $twAcc sa vašim Twitter korisničkim imenom.
Spojimo sve to skupa u funkciju za WordPress
Niže možete vidjeti to sve skupa objedinjeno u funkciju koju ukoliko koristite WordPress možete kopirati u datoteku “functions.php” u direktoriju predloška koji koristite. Sama funkcija sprema vrijednost u cache i refresha ju svakih sat vremena (3600 sekundi) kako sa svakim otvaranjem vaših stranica se ne bi putem “curla” opterečivao FeedBurner i Twitter.
function brojac_pretplatnika() {
$fbAcc = "tutorijali-hdonweb"; // FeedBurner RSS prefiks urla
$twAcc = "hdonweb"; // Twitter user
$pretplatnici = get_option('brojac_pretplatnika');
if ($pretplatnici['cache_time'] < (mktime() - 3600)) { // postavljate vrijeme keša u sekundama // FeedBurner RSS pretplatnici $fbUrl = "https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=".$fbAcc; $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_URL, $fbUrl); $podaci = curl_exec($ch); curl_close($ch); $xml = new SimpleXMLElement($podaci); $fb = $xml->feed->entry['circulation']; // broj FeedBurner pretplatnika
// Twitter foloweri
$twUrl = "https://twitter.com/statuses/user_timeline.xml?id=".$twAcc."&count=1";
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $twUrl);
$podaci = curl_exec($ch);
curl_close($ch);
$xml = new SimpleXMLElement($podaci);
$tw = $xml->status->user->followers_count; // broj Twitter folovera
// zbrajanje i keširanje
$pretplatnici['count'] = $fb+$tw;
$pretplatnici['cache_time'] = mktime();
update_option('brojac_pretplatnika', $pretplatnici);
}
echo $pretplatnici['count'];
}
Nikao ne zaboravite izmjeniti vrijednosti $fbAcc i $twAcc varijabli.
Kako pozvati funkciju u WordPress-u?
Najjednostavniji način je uz pomoć koda prikazanog niže, koji provjerava dali funkcija postoji i ako postoji prikazuje vrijednost koju sama funkcija “brojac_pretplatnika()” vraća.
Postovani hvala Vam na kvalitetnom postu, imao bih samo pitanje kako bi kod izgledao za brojac twitter i FB pratilaca.
Hvala
Vise nego dovoljno :) puno hvala