Contorul personalizat pentru Twitter și Feedburner

Aș dori să împărtășesc o modalitate simplă de a avea contul dvs de Twitter follower sau de Counter Counter Reader total, folosind stilul personalizat pe site-ul dvs. WordPress. Puteți vedea câteva exemple pe pagina contului personalizat pentru a obține ideea despre cum pot arăta aceste contoare. Destul cu introducerea, vă permite să începeți.


Pasul 1 Citirea valorii

Cel mai important lucru este cum putem citi valoarea din Twitter și Feedburner, să începem mai întâi cu Twitter. Puteți obține detalii despre contul dvs. Twitter accesând următoarea adresă URL: https://twitter.com/users/show/introduceți-ta-aici numele de utilizator- De exemplu, https://twitter.com/users/show/eizil, dacă faceți clic pe adresa URL, veți vedea o listă de informații referitoare la contul meu Twitter în format XML.

Putem face un lucru similar cu Feedburner, puteți utiliza următoarea adresă URL pentru a obține datele Feedburner: https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=introduceți-ta-aici numele de utilizator- De exemplu, https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=eizil, dacă faceți clic pe adresa URL, veți vedea informații despre contul meu Feedburner.

Deci, acum avem sursa pentru informațiile noastre, în continuare trebuie să citim valoarea XML de pe site-ul nostru pentru a fi utilizate în contorul nostru personalizat. Noi vom folosi file_get_contents si SimpleXMLElement pentru a citi valoarea din Twitter sau Feedburner.

 // citiți datele din Feedburner $ data = file_get_contents ("https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=insert-your-username-here"); $ xml = new SimpleXMLElement (date $); // citiți datele Twitter $ data = file_get_contents ('http://twitter.com/users/show/insert-your-username-here'); $ xml = new SimpleXMLElement ($ date);

Acum avem toate datele de care avem nevoie de la Twitter și Feedburner, în continuare trebuie să citim valoarea urmăritorului și a cititorului din aceste date.

 $ total = $ xml-> feed-> entry ['circulație']; // Citiți numărul total din Feedburner $ total = $ xml-> followers_count; / / Citiți numărul total de followeri de pe Twitter

Și combinăm acest cod pentru a obține totalurile pentru Twitter și Feedburner ca exemplul de mai jos.

 // citiți datele din Feedburner $ data = file_get_contents ("https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=insert-your-username-here"); $ xml = new SimpleXMLElement (date $); $ total = $ xml-> feed-> entry ['circulation']; // Citiți numărul total din Feedburner // citiți date Twitter $ data = file_get_contents ('http://twitter.com/users/show/insert- numele dvs. de utilizator-aici '); $ xml = noi SimpleXMLElement ($ date); $ total = $ xml-> followers_count;

Pasul 2 Etalarea contorului

Avem deja valoarea noastră pentru ghișeul nostru, iar apoi ne vom schimba contorul pentru a ne uita mai bine. Vom folosi următoarea structură HTML pentru contorul nostru.

 
Valoare
valoare

Pentru stilul 1 în pagina personalizată, vom folosi următorul CSS:

 .contra float: stânga; clar: ambele; lățime: 100%;  / * Counter pentru feedburner * / #feedcount float: left; poziție: relativă; #feedcount a width: 150px; înălțime: 38px; fundal: url (images / subscribe.png); afișare: bloc;  #feedspanajului position: absolute; top: 10px; dreapta: 15px; culoare albă; font-size: 0.75; font-weight: bold; / * Twitter contra * / #twitcount float: left; poziția: relativă; #twitcount a width: 150px; înălțime: 38px; fundal: url (imagini / subscribe-twitter.png); afișare: bloc; #twitcount span position: absolute; top: 10px; dreapta: 12px; culoare albă; font-size: 0.75; font-weight: bold;

Acum aveți un contor personalizat pentru a fi utilizat pe tema WordPress.


Pasul 3 Obțineți codul în funcții tematice

În acest stadiu, știm deja cum să citim valoarea și cum să facem un simplu contor, în continuare vom crea o nouă funcție în fișierul nostru tema functions.php pentru a face față acestei solicitări. De asemenea, vom adăuga un fișier cache pentru a citi această valoare, deoarece nu vrem ca contorul să încerce să obțină o nouă valoare de fiecare dată când un utilizator vizitează site-ul nostru WordPress.

Să începem cu crearea unei noi funcții called getTwitFeedburnCount () ca exemplul de mai jos

 funcția getTwitFeedburnCount () 

Apoi vom adăuga două variabile funcției care ne va permite să folosim acest lucru pentru Twitter și Feedburner, cele două variabile pe care le vom folosi ar fi 1. nume de utilizator și 2. tip de cont. Aceste două valori vor fi utilizate pentru a determina ce cod va fi folosit pentru a prelua valoarea și ca un identificator pentru fișierul nostru de memorie cache.

 funcția getTwitFeedburnCount ($ username, $ type) 

Vom pregăti fișierul cache de la începutul funcției, mai întâi vom încerca să vedem dacă există un fișier cache disponibil pentru a fi utilizat sau altfel vom aduce o nouă valoare din Twitter sau Feedburner.

 funcția getTwitFeedburnCount ($ username, $ type) if ($ type == "feedburner"): $ cfile = sys_get_temp_dir (). '/ e1z'. $ tip. md5 ($ username); altfel ($ type == "twitter"): $ cfile = sys_get_temp_dir (). '/ e1z'. $ tip. md5 ($ username); endif; dacă (is_file ($ cfile) == false): $ cfile_time = strtotime ('1983-04-30 07:15'); altfel: $ cfile_time = filemtime ($ cfile); endif; $ difference = strtotime (data ('Y-m-d H: i: s')) - $ cfile_time; dacă ($ difference> = 3600): // setați intervalul înainte de a actualiza memoria cache în câteva secunde // preluați codul de valori nou, mergeți aici: // citiți din fișierul cache endif; 

Toate cache-urile vor fi stocate în sistemul de fișiere temporar, pentru a evita orice încălcare a securității dacă vom folosi un folder în tema sau instalarea WordPress. Acum putem adăuga codul care procesează de fapt citirea de pe Twitter și Feedburner.

 funcția getTwitFeedburnCount ($ username, $ type) if ($ type == "feedburner"): $ cfile = sys_get_temp_dir (). '/ e1z'. $ tip. md5 ($ username); altfel ($ type == "twitter"): $ cfile = sys_get_temp_dir (). '/ e1z'. $ tip. md5 ($ username); endif; dacă (is_file ($ cfile) == false): $ cfile_time = strtotime ('1983-04-30 07:15'); altfel: $ cfile_time = filemtime ($ cfile); endif; $ difference = strtotime (data ('Y-m-d H: i: s')) - $ cfile_time; dacă ($ difference = = 3600): // setați intervalul înainte de a actualiza memoria cache dacă ($ type == "feedburner"): $ data = file_get_contents ("https://feedburner.google.com/api/awareness/1.0 /GetFeedData?uri=".$username); $ xml = nou SimpleXMLElement ($ date); $ total = $ xml-> feed-> entry ['circulație']; // Citiți numărul total din Feedburner elseif ($ type == "twitter"): $ data = file_get_contents ('http://twitter.com/users/show/' $ username); $ xml = nou SimpleXMLElement ($ date); $ total = $ xml-> followers_count; // Citiți numărul total de followeri de pe Twitter endif; dacă (is_file ($ cfile) == true): deconectați ($ cfile); endif; atinge ($ cfile); file_put_contents ($ cfile, strval ($ total)); retur strval ($ total); altfel: $ total = file_get_contents ($ cfile); retur strval ($ total); endif; 

Un lucru pe care trebuie să-ți reamintesc, Feedback-ul uneori resetează valoarea dacă îl aduceți în direct și ajungeți la zero ca valoare pentru cititorul dvs. O soluție rapidă pentru acest lucru ar fi citirea valorii Feedburner de acum 4 zile. Acest lucru este opțional, doar o soluție dacă ați întâlnit vreodată problema așa cum am făcut-o. Trebuie să adăugați data la funcția dvs., după cum se arată mai jos:

 funcția getTwitFeedburnCount ($ username, $ type) if ($ type == "feedburner"): $ cfile = sys_get_temp_dir (). '/ e1z'. $ tip. md5 ($ username); altfel ($ type == "twitter"): $ cfile = sys_get_temp_dir (). '/ e1z'. $ tip. md5 ($ username); endif; dacă (is_file ($ cfile) == false): $ cfile_time = strtotime ('1983-04-30 07:15'); altfel: $ cfile_time = filemtime ($ cfile); endif; $ difference = strtotime (data ('Y-m-d H: i: s')) - $ cfile_time; dacă ($ difference = = 3600): // setați intervalul înainte de a actualiza memoria cache dacă ($ type == "feedburner"): $ date = date ('Y-m-d', strtotime ('- 4 days'); $ data = file_get_contents ("https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=" $ username. "& dates =". $ date. ",". $ date); $ xml = nou SimpleXMLElement ($ date); $ total = $ xml-> feed-> entry ['circulație']; // Citiți numărul total din Feedburner elseif ($ type == "twitter"): $ data = file_get_contents ('http://twitter.com/users/show/' $ username); $ xml = nou SimpleXMLElement ($ date); $ total = $ xml-> followers_count; // Citiți numărul total de followeri de pe Twitter endif; dacă (is_file ($ cfile) == true): deconectați ($ cfile); endif; atinge ($ cfile); file_put_contents ($ cfile, strval ($ total)); retur strval ($ total); altfel: $ total = file_get_contents ($ cfile); retur strval ($ total); endif; 

După ce terminați să adăugați această funcție la tema dvs., sunteți bine să mergeți.


Pasul 4 Utilizați codul

Acum, dacă doriți să utilizați funcția, utilizați formatul următor

 echo getTwitFeedburnCount ("introduceți-numele-utilizator-aici", "feedburner"); echo getTwitFeedburnCount ("introduceți-numele-utilizator-aici", "Twitter");

Puteți pune codul împreună în HTML, ca exemplul de mai jos

 

Concluzie

Până acum ar trebui să puteți utiliza această funcție în oricare dintre temele dvs., puteți descărca fișierul sursă pentru a arunca o privire la alte stiluri, așa cum se vede pe pagina Custom Counter. Faceți partajarea contorului personalizat cu mine, mai ales dacă creați un stil nou pentru tema dvs..

Cod