API - API: met het hart van de hartslag in de « delen,,,,,,,,,,,, deel 2,,,,,,, de delen van het netwerk, maandag wat in tuts + koers zal dalen tot slechts drie dollar.Niet' niet missen.,, in deze handleiding creëren we een eenvoudige « plugin », het gebruik van API - hart.We zullen aan de gebruikers van de « plugin », door middel van een brullen als kennisgeving, als een andere gebruiker of op de website van deze handleiding is.,, de hartslag van API - en ik zal het creëren van een plug - in de titel of de documenten aan details: « structuur is heel eenvoudig, controleer De source code in github bibliotheek de gebruikers zullen worden beschouwd als "logon" is geregistreerd, hebben de afgelopen 24 uur geactiveerd.Als de gebruiker of niet - actieve 24 uur, ze zal worden beschouwd als een off - line.We zullen toezicht houden op de gebruiker "on - line" en "staat de laatste keer de tijd om te helpen bij de vaststelling van de activiteiten die op dit moment online -.,, inloggen en van, in de eerste plaats creëren we een functie in verband met de wp_logout, wp_login,,, Hook.Deze zijn voor de gebruiker /wordpress, terugtrekken.Wanneer een gebruiker inlogt, zullen we een status update log (opslag van de dollar) voor de "echte" en de vernieuwing van hun activiteiten in de laatste tijd, de functie whoisonline_logged_in ($van de gebruiker een gebruikersnaam) {update_user_meta ($van de identiteit van de gebruiker > whoisonline_is_online ",", waar de gebruikers ($); update_user_meta > id. Whoisonline_last_active "," time (})); add_action ("wp_login", "whoisonline_logged_in", 10, 2);, ook wanneer een gebruiker inlogt, zullen we de vernieuwing van hun online staat niet. Functie: whoisonline_logged_out () {% user_id = get_current_user_id (); update_user_meta (user_id dollar whoisonline_is_online. "Sham);} add_action (" wp_logout "," whoisonline_logged_out ");,, die online?En nu laten we het creëren van een functie, die weer een reeks actieve gebruikers gebruikersnaam user - ID 's, we gebruiken, get_users () index vraag in alle functies die in de afgelopen 24 uur (het gebruik van actieve gebruikers, whoisonline_last_active, meta - Bond), dan zullen we de teruggooi is ingelogd whoisonline_is_online een inspectie, de gebruikers, /metagegevens, functie who_is_online ($sprake = - () {///////gebruikers actief is in de afgelopen 24 uur wp_parse_args dollar = (('meta_key sprake, - "= > de whoisonline_last_active",'meta_value "= > tijd () - 24 * 60 * 60,'meta_compare" = > ">",'count_total "= > valse,); voor de gebruiker ($dringt erop get_users); ///////- netwerken van online_users = ((); voor de gebruikers (die tot- als (gebruikers).Get_user_meta ($gebruikers > id, whoisonline_is_online "echt") voortgezet; dollar online_users [] = $gebruikers gebruikers > > user_login;} terug online_users;}, voorbereiding van de API, hartslag, waar we met heaertbeat cliënt API, laten we naar het verzoek "die on - line server reageert Op een behandeling.Als deze reeks van deel 1 betrekking heeft, zullen we aan de filter, heartbeat_received (die we niet nodig hebben, voor de gebruikers niet gebruiken, heartbeat_nopriv_received, filter), ten eerste, we zullen de activiteiten van gebruikers van de actualisering van de huidige tijd, en ervoor te zorgen dat de staat voor de online - ".We zullen de volgende inspectie verzoeken "die online informatie is op zoek naar die sleutel (online, zullen we na ontvangst in gebruik), gegevens, indien die er zijn, we hebben een reeks van de gebruiker:, - ([naam] = > [], de terugkeer van de gebruiker), who_is_online (whoisonline_check_who_is_online (functie), en $op gegevens, screen_id) {///////actualiseren van de activiteiten user_id dollar = get_current_user_id (); update_user_meta (user_id dollar, whoisonline_last_active", "time ()); update_user_meta (user_id dollar" whoisonline_is_online ", waar); ///////- kijk wie?"Heeft gevraagd.Lege ($gegevens ['who-is-online])) {///////'whoisonline dollar aanvullende gegevens toegezonden antwoord [] = who_is_online (}); het antwoord terug van de add_filter;} ("heartbeat_received", "whoisonline_check_who_is_online", 10, 3); add_filter ("heartbeat_received", "whoisonline_check_who_is_online", 10, 3);,, hartslag. API - en nu javascript dossiers, who-is-online.js, in je dossiers in de « plugin ».De volgende documenten worden in de eerste plaats is de,, we beginnen met de variabelen, de whoisonline,.Whoisonline.online, niet alleen whoisonline.onlineprev,,, "- -" (letterlijk uit de javascript, hun doel van de gebruiker), volgens de gebruikers - ID - overeenkomt met die "on - line" - op dit moment /geleden.Het wordt gebruikt om te bepalen wanneer de gebruiker zijn geregistreerd of, en dan beginnen we aan ons verzoek om gegevens die op de wp.heartbeat.enqueue online, en de reactie met luisteren, call - back - incident, whoisonline hart tikt.- we controleren of de gegevens in de door de server terug, de uitvoering van de nodige maatregelen om ervoor te zorgen dat de gegevens verzoeken, en we stonden te wachten tot de volgende ritme, ///////tot whoisonline = {VAR -: valse, onlineprev: valse};) (document). Voorbereiding (functie) (///////- demonstratie alleen die eerste sneller slaan!WP. Hartslag interval ("snel"); ///////rij gegevens WP. Hartslag. Het team ("wie is online", "whoisonline, valse);) (document), (hartslag". Whoisonline "functies (evenementen, gegevens, textstatus, jqxhr) {als (gegevens hasownproperty (" whoisonline "). De uitvoering van acties) {//////////////de gegevens terug} en in ons geval, moet aandacht worden besteed aan de volgende gegevens voor foto 's.In alle aanvragen, is misschien niet zo alleen als je moet in de rij te staan.WP. Hartslag. Het team ("wie is online", "whoisonline, valse);});}); en nu, laten we in onze interne logica, heartbeat-tick.whoisonline details gevuld, de auditie.Als we in de eerste plaats de gegevens ontvangen van de server bevat het een reeks inspecties van de gebruiker (dit is de sleutel van de whoisonline "), na onderzoek, gegevens hasownproperty (" whoisonline ").Als dat het geval is...,, bijgewerkt om rekening te houden met de whoisonline.onlineprev, wie is de laatste verslagen, en, whoisonline.online online, rekening te houden met de huidige - wie is geslagen, controleer de user - ID 's, die in de whoisonline. Online -, maar niet in, whoisonline. Onlineprev,.Deze gebruikers al ingelogd, controleer de user - ID 's, die in de whoisonline. Onlineprev, maar niet op het internet, whoisonline,.Deze gebruikers al ingelogd.,, de voltooiing van de documenten en javascript, zoals: var whoisonline = {online: valse, onlineprev: valse};) (document). Voorbereiding (functie) (///////WP die eerste sneller slaan. Hartslag interval ("snel"); ///////rij gegevens nat poeder. Hartslag.. Het team ("wie is online", "whoisonline, valse);) (document), (hartslag". Whoisonline "functies (evenementen, gegevens, textstatus, jqxhr) {als (gegevens. Hasownproperty (" whoisonline ") {als (whoisonline.online = = = vals) {///////als gewoon. En niks zeggen...Whoisonline.online = data.whoisonline;} whoisonline.onlineprev = whoisonline.online
Hartslag: het gebruik van
Next Page:Hartslag: wijziging van