Een welkomstpagina maken voor uw WordPress-product WP Transients API

Als het aankomt op het bouwen van een web-app met WordPress, bieden de krachtige API's veel hulp. Het toevoegen of ophalen van gegevens met de Options API is geen big deal. Maar soms moeten we tijdelijke gegevens opslaan met een vervaltijd. 

WordPress biedt een intuïtieve caching via Transients om precies dat te doen, d.w.z. tijdelijke gegevens opslaan met een vervaltijd. We gaan transiënten gebruiken, dus ik dacht dat ik in dit artikel de WordPress Transients-API niet opnieuw zou bekijken.

Volgens de WordPress Codex:

De Transients-API lijkt sterk op de Options-API, maar heeft de extra functie van een vervaltijd, wat het gebruik van de API vereenvoudigt. wp_options databasetabel om in de cache opgeslagen informatie tijdelijk op te slaan. 

In het kader van deze reeks bieden transiënten een efficiënte manier om gebruikers om te leiden naar de welkomstpagina wanneer ze een plug-in activeren door tijdelijke gegevens op te slaan. 

In dit artikel verkennen we het concept van de Transients-API in WordPress en hoe dit verschilt van de Options-API. Dus, laten we er naar toe gaan.

Transients API

Transiënten bieden ons manieren om gegevens in de cache tijdelijk op te slaan door een aangepaste naam (sleutel / waarde-paren) en een vervaltijd op te geven. Zodra het gedefinieerde tijdsbestek voorbij is, verlopen de transiënten en worden ze verwijderd. Deze transiënten verbeteren de prestaties en versnellen de algehele prestaties van de webapp.

Maar er rijst een vraag: Is de vervaltijd de enige reden voor met behulp van de WP Transient API? 

Het antwoord is nee! Ondanks het feit dat de Options API hetzelfde doel dient voor het opslaan, zuiveren en ophalen van gegevens, biedt deze mogelijk niet de best mogelijke prestaties met grote sets gegevens. 

Als tijdschema wordt toegevoegd, worden transiënten de meest geschikte manier om gegevens tijdelijk op te slaan. Om een ​​kleiner aantal webquery's te garanderen, hebben transiënten de mogelijkheid om gegevens in het snelle geheugen op te slaan, bijvoorbeeld Memcached, in plaats van de traditionele WordPress-database. Merk ook op dat Transients inherent versneld worden door caching-plug-ins, waar normale Opties dat niet zijn. Zoals vermeld in de codex:

Een Memcached plug-in, bijvoorbeeld, zorgt ervoor dat WordPress tijdelijke waarden opslaat in een snel geheugen in plaats van in de database. Om deze reden moeten transiënten worden gebruikt om alle gegevens op te slaan waarvan verwacht wordt dat ze vervallen of die op elk moment kunnen vervallen. Van transiënten mag ook nooit worden aangenomen dat ze zich in de database bevinden, omdat ze daar misschien helemaal niet worden opgeslagen.

Wanneer u een functionaliteit nodig hebt die verloopt of wordt verwijderd na een bepaalde periode, gebruikt u daarom overgangen in plaats van opties. Daarover later meer.

Gebruik van Transiënten

Transiënten werken met een ongelooflijk eenvoudige interface. U kunt er drie basisfuncties mee uitvoeren:

  • aanmaken / bijwerken van een transient via de set_transient () functie
  • een transient ophalen via de get_transient () functie
  • een transient verwijderen via de delete_transient () functie

Met deze drie basishandelingen kunt u de webprestaties versnellen.

1. Een transiënt creëren / bijwerken

Gebruik de set_transient () functie om een ​​transiënt te maken of bij te werken. De functie heeft drie parameters:

  • Sleutel: (Type draad) Naam van de transiënt. Moet 172 tekens lang of korter zijn.
  • Waarde: (type gemengd) Het zijn de gegevens die moeten worden opgeslagen. Kan een PHP-variabele of een array-object zijn.
  • vervaltijd: (type int) Maximale tijd tot verstrijken in seconden. Standaard 0 (geen vervaldatum).

Point to Ponder: De uiterste gebruiksdatum die u instelt, is de maximale hoeveelheid tijd waarvoor een transiënt wordt opgeslagen. Na die tijd wordt de overgang verwijderd. Maar het kan ook vóór die tijd worden verwijderd. Omdat het deel uitmaakt van de cache, kan het voor die tijd door de gebruiker worden verwijderd. Denk dus altijd aan de vervaltijd als de maximale hoeveelheid tijd voor de levensduur van een transient met alleen de garantie dat deze daarna wordt verwijderd.

De eerste twee parameters zijn de sleutel waarde pair en zijn verplicht, terwijl de derde parameter, die de maximumtijd voor expiratie definieert, optioneel is.

Een praktisch voorbeeld van het aanroepen van deze functie is als volgt:

Tijdconstanten in transiënten

In het bovenstaande voorbeeld heb ik 60 seconden toegevoegd als de derde parameter, die de vervaltijd definieert waarna de overgang wordt verwijderd. Volgens het bovenstaande voorbeeld, het object _welcome_redirect_wpw kan alleen de maximale leeftijd van 60 seconden hebben.

In WordPress 3.5 werden verschillende constanten geïntroduceerd om gemakkelijk de tijd uit te drukken. Deze constanten maken de code uitgebreider en nauwkeuriger. Dit is de lijst:

MINUTE_IN_SECONDS = 60 (seconden) HOUR_IN_SECONDS = 60 * MINUTE_IN_SECONDS DAY_IN_SECONDS = 24 * HOUR_IN_SECONDS WEEK_IN_SECONDS = 7 * DAY_IN_SECONDS YEAR_IN_SECONDS = 365 * DAY_IN_SECONDS

2. Een transient ophalen

Na het opslaan van een waarde via de set_transient () functie, kunt u de waarde ophalen door de get_transient () functie.

Er is een enkele parameter voor nodig, de sleutel (dat wil zeggen de naam) van de transiënt $ voorbijgaande, en geeft het (type gemengd) waarde van de transiënt. 

Het standaard formaat is: 

In het geval van ons voorbeeld wordt de waarde opgehaald via:

Best makkelijk? Maar wat zou er gebeuren als de voorbijgaande tijd niet bestaat of is verlopen? Als dat het geval is, dan is de get_transient () functie retourneert a vals waarde. 

Ik raad aan dat je de identiteitsoperator gebruikt (===) wanneer u de waarde van een overgang krijgt om te testen of deze vals is of niet. 

$ a === $ b Identiek TRUE als $ a gelijk is aan $ b, en ze van hetzelfde type zijn.

3. Een transiënt verwijderen

Er kunnen situaties zijn waarin u mogelijk de transienten wilt verwijderen voordat ze verlopen. De delete_transient () functie helpt je ermee. Het formaat is vergelijkbaar met de get_transient () functie. 

Er is een enkele parameter voor nodig, de sleutel (dat wil zeggen de naam) van de transiënt $ voorbijgaande, en verwijdert de overgang permanent.

Hier is het algemene formaat:

In ons geval kunnen we het als volgt verwijderen:

Het gebruik van transiënten

Transiënten kunnen worden gebruikt voor het cachen van alles, van de meest elementaire gegevens tot een complete widget. Sinds hun lancering zijn transiënten gebruikt in verschillende webprojecten. Hier zijn een paar praktische toepassingen van transiënten:

  • Natuurlijk kunt u deze gebruiken op een welkomstpagina van uw plug-in, wat de reikwijdte van deze serie is.
  • Je kunt ze gebruiken in een zijbalkwidget die gegevens zoals topblogopmerkingen, berichten enz. Bevat.
  • U kunt WordPress-navigatiemenu's versnellen met transiënten.
  • U kunt een tagwolk opslaan in cache met transiënten.

Conclusie

We zijn allemaal klaar met de basis van de WordPress Transients API. In de volgende twee artikelen ga ik een welkomstpagina maken voor een WordPress-plug-in. Ik zal mijn grove gedachten in iets betekenisvoller en praktischer plaatsen.

Ten slotte kun je al mijn cursussen en tutorials op mijn profielpagina verzamelen, en je kunt me volgen op mijn blog en / of contact opnemen op Twitter @mrahmadawais, waar ik schrijf over ontwikkelingsworkflows in de context van WordPress.

Zoals gebruikelijk, aarzel dan niet om eventuele vragen of opmerkingen achter te laten, en ik zal ernaar streven om op elk van hen te reageren.