✅ WEB ja WordPressi uudised, teemad, pistikprogrammid. Siin jagame näpunäiteid ja parimaid veebisaidi lahendusi.

Töötamine WordPressi üleminekute ja autentimisega

8

Eelmise postituse sisuga jätkates on oluline kaaluda ka transientide ja autentimise kasutamist.

Kuna on stsenaariume, kus kasutajad on saidil autentitud (mõelge saidi ainult liikmetele mõeldud alale) ja või ei ole saidil autentitud (nt saidi külastajad).

Seda tüüpi olukordi esineb nii ajaveebides kui ka muudel saitidel ja veebirakendustes kõikjal.

WordPressi siirded ja autentimine

Kuidas saaksime nende kasutajate jaoks kasutajateavet salvestada? Õnneks pakub PHP meile mõningaid funktsioone, mis annavad meile võimaluse seda teha ilma WordPressi API-sid vajamata.

Lõppkokkuvõttes on eesmärk, milleni püüame, ajutiste andmete järjestamine, kasutades võtit, mis kasutab autentitud või autentimata kasutaja ID-d.

Ja siin on, kuidas neid kõiki teha.

WordPressi API

Eeldades, et kasutaja on WordPressiga autentitud, saame kasutada funktsiooni get_current_user_id. See on ka lihtne.

Koodi viitest:

Hankige praeguse kasutaja ID

Seejärel saame kasutada seda funktsiooni konstruktoris, et määrata atribuut, mis salvestab kasutaja ID. Ja ma näitan kohe selle koodi, aga kuidas on siis, kui kasutaja pole sisse logitud?

PHP API

Autentimata kasutajate teabe salvestamisel vajame siiski viisi nende tuvastamiseks. Seda saab teha mitmel viisil, kasutades siirdevõtmele lisamiseks erinevaid PHP-s säilitatavaid väärtusi.

Pidage meeles, et võti peab olema ainulaadne ja seni, kuni see on saidi kasutaja jaoks ainulaadne, peaks see olema hea.

PHP pakub kahte funktsiooni:

Mis puudutab teist, siis see ei tööta IIS-i ega Windowsi-põhiste serveritega. Kuid mainin seda siin kui teist alternatiivi *nixi-põhiste hostide jaoks (kuna nii palju on, eriti WordPressi puhul).

Funktsioon get_current_user on piisavalt selge:

Hangi praeguse PHP skripti omaniku nime

Juhendis on ka midagi muud, mida tähele panna. See ütleb selgesõnaliselt, et "[tagastab] praeguse PHP-skripti omaniku nime." Ja ma käsitlen seda enne postituse lõppu.

Töötamine WordPressi üleminekute ja autentimisega

Lisaks ei pruugi get_current_user olla see, mida otsite, olenevalt sellest, kuidas server on konfigureeritud ja milline kasutaja on serveris töötava PHP-skripti "omanik".

Kuid selle näite puhul piisab, kui öelda, et see töötab. Ja siin on põhjus: Püüan näidata, kuidas kasutada saidil autentimata külastaja jaoks ainulaadseid väärtusi, et luua võti, millest saame teavet hankida.

Võtme genereerimine on tegeliku koodi suhtes teisejärguline.

Ühendades selle kõik koos

Kuidas näeb kood välja, kui tahame ülaltoodud funktsioone kasutada? See on siis, kui säilitame atribuuti, mis hoiab kasutaja ID-d ja teeb seda nii autentitud kui ka autentimata kasutajate jaoks?

Võib-olla see :

Ja see annab teile funktsiooni, mis on vajalik kordumatu kasutaja ID loomiseks nii autentitud kui ka mitteautentinud kasutajatele.

Aga mööduvad võtmed?

Jah – osa sellest, mida me arutame, on ka ainulaadsete mööduvate võtmete loomine.

Selleks olen leidnud, et on piisavalt lihtne ühendada ülal loodud kasutaja ID ja lisada see võtmele, mida kasutatakse transientide serialiseerimisel.

Näiteks :

Seejärel saame selle funktsiooni tagastatava väärtusega kasutada unikaalsete võtmete abil andmete ajutisena salvestamiseks.

Ikka muud võimalused

Nagu mainitud, ei pruugi lihtsalt PHP-sse sisseehitatud funktsioonide kasutamine olla õige tee. Kuid see ei tähenda, et poleks muid väärtusi, mis pakuvad teile vajalikule ainulaadset väärtust.

Sellistel juhtudel on oluline kindlaks teha, kuidas soovite oma kasutajat tuvastada, millist operatsioonisüsteemi ta kasutab ja millisele kasutajakontole rakendus kuulub.

Kui see ei paku piisavalt unikaalset seadistust (ja on väga tõenäoline, et teatud tingimustel ei saa seda teha), kehtib põhimõte ikkagi – peate lihtsalt asendama funktsiooni get_current_user() millekski, mis sobib kõige paremini. sina.

See veebisait kasutab teie kasutuskogemuse parandamiseks küpsiseid. Eeldame, et olete sellega rahul, kuid saate soovi korral loobuda. Nõustu Loe rohkem