Ajutised valikud WordPressis: meie parim valik?
Mis puutub programmeerimisse, siis ajutiste väärtuste või ajutiste muutujate idee või mistahes viis andmete ajutiseks mällu salvestamiseks pole midagi uut.
Kuid töötades WordPressiga – mis on kodakondsuseta – ei ole meil alati seda luksust. See tähendab, et asi ei ole lihtsalt selles, et visata midagi praegusesse seanssi, lugeda see ja siis eemaldada, kui see on tehtud.
Ja just siis olen ma parema termini puudumisel järjest rohkem mõelnud ajutiste võimaluste ideele. See tähendab, et kui mul on vaja salvestada väärtus ühest lehe laadimisest või päringust, et lugeda seda teises lehe laadimises või mõnes muus päringus, viskan väärtuse ajutiselt valikute tabelisse.
Ajutised valikud: harjutus ja kujutamine algse visandi abil
Kas see on lohakas? Võib olla. Kas meil on palju muid valikuid? See sõltub sellest, kui palju kaasaegset brauseritehnoloogiat me kasutada tahame. See pole aga selle postituse mõte.
Asi on selles, et WordPressi toimimisviisi tõttu mõtlen, kas meie praegune parim strateegia ajutiste väärtuste säilitamiseks, mida kõige laialdasemalt toetatakse kõigis installides, on ajutiselt lisada väärtus suvandite tabelisse, lugeda see läbi ja seejärel kustutada. kätte saadud?
Meie võimalused ajutiste valikute jaoks
Mul isiklikult ei ole kindlat arvamust, kas see on halb või mitte. Kui see on oma olemuselt see, kuidas vundament, mille kallal lahenduse kallal töötan, töötab, siis ma lähen sellega.
Esiteks, ma olen seda tavaliselt WordPressis teinud järgmiselt:
1 Ajutise valiku loomine
Esiteks seadistasin funktsiooni, mis on konksuga update_option. See võimaldab vaadata värskendatavat valikut, selle vana väärtust ja uut väärtust.
<?php
public function init() {
add_action(
'update_option',
array( $this, 'manage_temporary_option' ),
10, 3
);
}
Funktsioonis saan vaadata ja näha, kas konkreetne valik on salvestatud. Kui ei, siis võin seda lihtsalt ignoreerida; muidu võin seda vaadata ja hakata töötama ajutise valikuga.
<?php
public function manage_temporary_option( $option_name, $old_value, $new_value) {
if ('an_irrelevant_option' !== $option_name) {
return;
}
$url = 'page-from-which-we-expect-to-come.php';
if ($url === $_SERVER['REQUEST_URI']) {
update_option(
'our_temporary_option',
$new_value
);
}
}
Aga mida ajutine valik tooks?
2 Valik ajutiste optsioonide jaoks
Oletame, et teil on pistikprogrammis suvand, mis on sisse lülitatud. Võib-olla nõuab see, et kasutaja sisestaks enne protsessi ülejäänud osa teatud teavet.
Näide: Oletagem, et töötate kassakogemuse kallal ja soovite sundida kasutajaid kontot looma, kuid on olemas valik, mis võimaldab klientidel tasuda ilma kontot loomata.
Üks rakendus, mida saaksime kasutada, on järgmine:
- Enne kassalehe laadimist kontrollige, kas kasutaja saab kassasse minna külalisena.
- Kui jah, salvestage valiku algne väärtus ajutisse suvandisse.
- Muutke algset väärtust nii, et see nõuab konto loomist.
- Kui kassaprotsess on tehtud, kopeerige ajutise valiku väärtus algsesse valikusse.
- Kustutage ajutine valik.
See sarnaneb kogu harjutusega C-s, kui vajate kursorit kahe numbri vahetamiseks (selle jaoks, kes mäletab või kes on seda teinud).
Meie parim valik?
Eespool kirjeldatud protsess on vaid näide ega ole mõeldud ajutiste väärtuste säilitamise lõplikuks viisiks. Teiseks, kassanäide ei ole mõeldud seda postitust e-kaubandusega seostama.
Selle asemel on see mõeldud pakkuma konkreetset kasutusjuhtumit, kui ajutiste valikute salvestamine on kasulik ja kuidas me võiksime seda teha.
Seega jääb algne küsimus alles: kas WordPressi toimimisviisi, seansside vähesust ja ilma teatud brauseri funktsioonide (nt localStorage) tagamata on valikute tabelis olevad ajutised valikud meie parim viis?