gør

, gør - det - selv wordpress planlægning: beherskelse af wp cron,,,,, 1,,,,,,,,, 7,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' ikke glip af, som en af de mindre udbredte wordpress karakteristika, wp cron bliver ofte overset af udviklere.de ansøgninger, der er ikke noget at grine af.fra kravene til meddelelser til at rydde op, planlægning cron arbejdspladser kan arbejde for at skabe en klar fordel i selv de mest enkle wordpress blog.deltage i som vi udforske vigtige anvendelser af dette system,.,,,, en gennemsnitlig cron job?tænk igen.,,, wp cron er ikke det samme som unix - cron scheduler..., umiddelbart efter, at ord, cron, jeg er sikker på, at du har taget en kniv på, hvor vi er på vej hen: planlægning af en perfekt timing hændelser til at løbe på bestemte tidspunkter.tværtimod, wp cron er ikke det samme som unix - cron scheduler.den vigtigste forskel ligger i, hvordan det er at løbe, i modsætning til en baggrundsproces, wp cron virker hver gang en gæst åbner din wordpress drevet stedet.som sådan, har den afgørende kendetegn for upræcise timing. ja, du har ret:, upræcise timing.selv om de ord, cron og nøjagtighed er som to ærter i en bælg, de ikke harmonisere i wordpress "system.men er det virkelig et problem?hvis det anses for inden for rammerne af brugeren, at det faktisk bliver en aktiv. lad os tage eksemplet med en normal cron job med hver fem minutter til at ajourføre en database, oplysninger, der anvendes på et websted.hvis ingen besøgende aflægge besøg på stedet i 40 minutter, hvad er så det punkt ved dette arbejde otte gange.alle mellemliggende værdier ville både være forældede og uudnyttede.hvis det var omvendt spark i den første bruger besøg efter mindst fem minutter, ville det ikke kun udføre det samme arbejde, men også til at undgå unødvendige opdateringer.med andre ord, fordi wp cron er baseret på brugeren, den har den fordel, at når de besøgende, kun er til stede.,, ikke udenomssnakken.vis mig det!at anvende wp cron, lad os overveje den ofte anvendte rss forvaltning af anvendelsen, feedburner.som en af de mest populære elementer af denne ansøgning er dets evne til at tælle rss abonnenter.en indekseret, en lokalitet er abonnent tæller kan nås gennem en simpel api - ring.det følger heraf, at denne api - ring kan ske én gang pr. side med henblik på at levere abonnenten tæller til seerne.men dette medfører et problem.,, ind i en verden af caching, hvis der er adgang til api feedburner er én gang pr. side mener, det fører uundgåeligt til en ekstra http anmodning om ikke at nævne en fra et andet område for hver besøgende.dette øger side belastning for brugerne, for at bekæmpe dette problem, er det vigtigt at foretage en vigtig erkendelse, om denne levering metode: en rss abonnent tæller er usandsynligt, at ajourføre hvert enkelt syn på den side.faktisk, feedburner kun opdaterer sine tælle én gang pr. dag.selv hvis det blev hurtigt ændrer sig, er det virkelig nødvendigt at vise de seneste tal for hver besøgende?gør det at regne er lidt gammeldags, men derefter fornys inden for en dag?til vores formål, er det fuldstændig ubrugelig for at hente rss abonnent tæller for hver side synspunkt.i stedet, hvis det fik en besøgende, der blot kan genanvendes til fremtiden.så efter en dag er gået, en opdatering af denne grev kan foretages.en sådan proces er kendt som caching.efter at være blevet ajourført, rss abonnent tæller er skjult opbevares til senere brug i stedet for igen at blive beregnet, indtil en dag er gået.og med det, vi træder ind i en verden af wp cron.,, trin 1, undersøge den dokumentation, at forstå wp cron, er det vigtigt at vide, hvor dokumentation er til rådighed.wordpress.org indeholder resuméer af hver cron funktion i codex.for at fuldføre vores tidligere definerede opgave, er vi nødt til at se på, wp_schedule_event, funktion, som kræver fire parametre:,,: en unix - timestamp angiver, hvornår der tilfælde bør udløse, fornyet: hvor ofte tilfælde bør være retriggered efter det planlagte tidspunkt, hook: en krog, der anvendes til at tilføje funktioner, når begivenheden er den udløses, args: en række argumenter for at gå til alle afhængige funktioner (valgfrit), vores begivenhed udløses, når den nuværende tidspunkt opfylder eller overstiger den tid, der er gået til denne funktion, som er foreskrevet af en kommende besøgende på webstedet.det vil derefter genstarte baseret på fornyet parameter, som kan lægges til time, twicedaily, daglig eller ingen.skik fornyet planer kan også defineres. med henblik på at håndtere tilfælde, en krog bruges.kort sagt, en wordpress klo kan betragtes som en indikation af en art til en aktion.foranstaltningerne kan henføres til hooks via wordpress, add_action, funktion.mere specifikt, at tilføje en funktion fører til den givne klo, man kan kalde:, add_action ('hook_name "," function_name "), hvor hook_name og function_name er navnet på krogen og håndtering funktion,.,, trin 2, der fungerer, fordi feedburner opdateringer, én gang pr. dag vil vi angive et dagligt pr. kode nedenfor, wp_schedule_event (time(), dagligt, feedburner_refresh), bemærker, at time(), er den nuværende unix timestamp i sekunder.- løb, "feedburner ajourføring" klo vil udløse straks og så en gang om dagen efter.bemærk, at hvis vi skal bare sætte dette i vores wordpress functions.php fil, ville den tidsplan, en ny begivenhed på hver enkelt side belastning.det er ikke vores tilsigtede funktioner, men vi ønsker denne begivenhed.den letteste måde at gøre det på er ved at undersøge, om den begivenhed, som allerede er planlagt.dette kan ske ved, wp_next_scheduled, funktion, som vil komme falsk, hvis tilfælde er ikke sat til at udløse i fremtiden, eller den næste udløser på anden måde: hvis (!wp_next_scheduled ('feedburner_refresh')) (wp_schedule_event (time(), dagligt, feedburner_refresh)}, hvis vi nogensinde skal unschedule denne begivenhed, det er så enkelt, som det, wp_unschedule_event, funktion, som tager de samme parametre med undtagelse af gentagelse som, wp_schedule_event,.bemærker, at den tid, der er gået, skal være den næste udløser, der kan hentes via, wp_next_scheduled: hvis (falsk!= = ($tid = wp_next_scheduled ('feedburner_refresh')) (wp_unschedule_event ($tid, feedburner_refresh)}, kan vi også unschedule denne begivenhed med sin klo navn med, wp_clear_scheduled_hook, funktion.være klar over, at dette alternativ vil også fjerne alle andre begivenheder, som anvender samme krog., wp_clear_scheduled_hook ('feedburner_refresh), trin 3 anvendelse af krogen, nu, at vi begynder, skal vi tilføje en kontakt til det:, add_action (' feedburner_refresh "," update_rss_subscriber_count '); det indeholder den funktion, der hedder, update_rss_subscriber_count, kaldes en gang, feedburner_refresh, klo er udløst.nu er det tid til at skrive denne funktion.,, løntrin 4 modtager feedburner abonnent tælle med, for at hente en abonnent tæller i, update_rss_subscriber_count, funktion, kan vi ringe til feedburner er api via url < https://feedburner.google.com/api/awareness/1.0/getfeeddata?uri = [navn] >, hvor [navn] er navnet på vores foder. dette vil vende tilbage xml - data i følgende form:, < rsp stat = "okay" > <!- det er en del af feedburner bevidsthed api - grænseflade.hvis du vil gemme oplysningerne, kan de gøre det via deres feedburner konto.- > < foder id = "8olmjno1k05rb1som1frr6u854" uri = "nettuts" > < tiltrædelsesdato = "2011-06-22" omsætning = "84673" hits = "152325" nå = "25865" /> < /feed > < /rsp > de oplysninger, vi leder efter, er i omløb attribut.følgende regelmæssigt udtryk kan nemt analysere med data for denne værdi: omsætning = "(*)?",., på engelsk, vores regelmæssige udtryk svarer til følgende:,, omsætning =, – ordet omsætning, efterfulgt af et lighedstegn, "(*)?", – citater og alt indenfor, løber det med, preg_match, funktion vil hente en række kampe, som vil indeholde antallet af abonnenter i de første indeks holdning.når disse oplysninger sammen giver følgende kode: //finde feedburner url og få data fra den //ændring [navn] til navnet på din feedburner foder $url = https://feedburner.google.com/api/awareness/1.0/getfeeddata?uri = [navn] ". $data = @ file_get_contents ($url); //@ vil surpress fejl //anvendelse regelmæssigt udtryk for, at analysere de data, $regex =% omsætning =" (*)? "% «. preg_match ($regex $data, $tændstikker); //den resulterende tælle, hvis tilgængelige $tæller = falske; hvis ($tændstikker & & $tændstikker [1]) $tæller = (int) $tændstikker [1],, løntrin 5 opbevaring af abonnenten tæller,, nu hvor vi har fået abonnenten tælle, vi bliver nødt til at opbevare den for tilgængelighed, i stedet for at revidere api - data, besøgende vil kun få adgang til denne lagret værdi. i stedet for at oprette en database eller et dossier til oplagringsformål, kan vi bruge endnu et wordpress træk: muligheder.wordpress muligheder er enkle metoder til opbevaring af stykker af data sammen med navne.at tilføje, slette og adgang til muligheder er så enkelt som følgende funktioner:,, update_option ($navn, $værdi) - tilføjer eller opdateringer en mulighed med navn, $navn og værdi, $værdi,.,, delete_option ($navn), - slette en mulighed med navn, $navn.,, get_option ($navn), - - få mulighed værdi i forbindelse med navn, $navn,.,, selv om vores abonnent tæller ikke er teknisk set en konfiguration værdi, med wordpress muligheder, er en af de mest hensigtsmæssige måder, hvis ikke den mest hensigtsmæssige til lagring af sådanne enkle data.følgelig, at opbevare vores abonnent tælle, vi bruger, update_option, metode, som ikke blot vil tilsidesætte tidligere værdier, men også skabe mulighed for det første: //hvis tæller ikke kunne findes, ikke ajourføring //i stedet, holde fast ved den tidligere regne hvis ($greve!= = falske) update_option ('subscriber_count, $tæller), vores opgave er fuldført.efter oprettelsen af de omstændigheder, retreiving dataene via feedburner api - og opbevaring af den ønskede værdi, det eneste, der er tilbage at gøre, er output.den fulde kode for planlægningen og søgning funktion, som du kan i functions.php-may findes nedenfor: //aftaler feedburner_refresh omstændigheder kun én gang, hvis (!wp_next_scheduled ('feedburner_refresh')) (wp_schedule_event (time(), dagligt, feedburner_refresh)} add_action ('feedburner_refresh "," update_rss_subscriber_count); funktion update_rss_subscriber_count() (//finde feedburner url og få data fra den //ændring [navn] til navnet på din feedburner foder $url = "https://feedburner.google.com/api/awareness/1.0/getfeeddata?uri = [navn] ". $data = @ file_get_contents ($url); //@ vil surpress fejl //anvendelse regelmæssigt udtryk for, at analysere de data, $regex =% omsætning =" (*)? "% «. preg_match ($regex $data, $tændstikker); //den resulterende tælle, hvis tilgængelige $tæller = falske; hvis ($tændstikker & & $tændstikker [1]) $tæller = (int) $tændstikker [1]; //hvis tæller ikke fandt ikke ajourføring //i stedet, holde fast ved den tidligere regne hvis ($greve!= = falske) update_option ('subscriber_count, $tæller)}, trin 6 output, abonnenten tæller nu er bare en simpel funktion opringning i model fil: echo get_option (' subscriber_count), konkluderes, at vores rss abonnent tæller nu er optimeret, snarere end at blive halet ind for hver enkelt anmodning, det er skjult ved hjælp af wp cron, redde vores brugere tid og reducere båndbredde anvendelse.fordi det kun aktiveres, når vores hjemmeside faktisk modtager en gæst, vores opgave er lazy-a betegnelse, som bestemt kan anses for at være godt i denne sammenhæng.men desværre har vi kun fundet en anvendelse af wp cron her, resten er op til dig, din egen innovativ anvendelse af wp cron?del det med os i de bemærkninger.,

Schedule
Documentation
Hook
Save
Finish



Previous:
Next Page: