See postitus on teine osa seeriast, mille läbi töötan ja mis räägib WordPressi metaandmete ühendusest ja selle esimene osa hõlmab WordPressi kasutajate programmilise loomise protsessi (aga sellest on möödunud viis aastat!).
Olen selle tegemisest varem rääkinud, kuid asjad muutuvad aja jooksul, kui me kogemusi juurde saame, eks? Ja sellise seeria läbitöötamisel on minu arvates abiks nõuete kogum, mida saame järgida, et simuleerida, mis tunne võiks olla, kui see juhtuks reaalses projektis.
Nii et selles konkreetses postituses vaatleme järgmist:
- kasutajateabe vastuvõtmine kindlas andmevormingus,
- Tuvastades, millist teavet on vaja kasutaja loomiseks,
- Kasutaja loomine,
- Veenduge, et meie kood vastaks kodeerimisstandarditele ja loetavusele.
See kõlab palju, kuigi ma ei kavatse sellest pikka postitust teha. See tähendab, et kui soovite õppida, kuidas seda läbi mõelda või kuidas sellega toime tulla, siis siin me läheme.
WordPressi kasutajate loomine
Oletame, et keegi – võib-olla klient või võib-olla isegi lihtsalt sina – on teave, mida kasutatakse kasutaja loomiseks. See vajab vähemalt järgmist teavet:
- kasutajanimi,
- parool,
- meiliaadress.
Kasutajanime loomisel eelistan ka e-posti aadressi kasutamist kasutajanimena, sest see on miski, mis on unikaalne peaaegu kõigile, kes seda kontot kasutavad.
Nii et selle õpetuse jaoks ma kasutan just seda. Mis puutub parooli, siis ma räägin hetkeks paroolide genereerimisest.
Lõpuks võite eeldada, et teie andmed on mis tahes kujul: võib-olla on need JSON-is, võib-olla CSV-vormingus, võib-olla XML-is. Igal juhul peate selle teabe PHP-sse sõeluma, et saaksite selle teabega hõlpsalt töötada.
Selle postituse lihtsamaks muutmiseks eeldan, et meil on üks kirje ja teave on saadaval massiivina. See ei tähenda, et see algab massiivist, kuid see tähendab, et me paigutame selle lõpuks massiivi.
1 Teave kasutaja kohta
Oletame, et meil on isik nimega "Meghan", kelle me süsteemi lisame. Meil on meiliaadress ja kõik.
Näidispersoon (muidugi kunstniku renderdamine 🙂
Aga see on okei. See on paljaskond, mida me vajame. Nii et võtame selle teabe :
<?php
$user_info = array(
'email' => 'meghan@emaildomain.com',
'first_name' => 'Meghan',
'last_name' => 'McFarlin',
);
Ja muutke see millekski, mida saame kasutada konto loomiseks.
2 Konto loomine
Esimene asi, mida peame tegema, on veenduda, et selle e-posti aadressi jaoks pole kasutajat juba olemas. Kui jah, siis tuleme lihtsalt tagasi. Võimalik, et soovite kuvada seadete sõnumi või muud tüüpi teavet, et anda lõppkasutajale teada, et te ei loo seda kontot, kuna see on juba olemas.
Kuid see ei kuulu selle postituse ulatusse.
Selle asemel naaseme :
<?php
// Read the email address - if it's - invalid or the user exists, then return.
$email = $user_info['email'];
if (! filter_var( $email, FILTER_VALIDATE_EMAIL) || username_exists( $email)) {
return;
}
Seejärel oletame, et kasutajat pole olemas. Kui ta seda ei tee – mida ta ei peaks (muidu pole sellel postitusel põhjust 😏) –, siis teeme talle konto.
Selleks vajame tema meiliaadressi ja parooli. Õnneks on parooli genereerimine lihtne:
<?php
$password = wp_generate_password( 16, false );
Nüüd saame võtta meiliaadressi ja parooli ning luua kasutajakonto.
<?php
// Grab the email and create a password.
$email = $user_info['email'];
$password = wp_generate_password( 12, false );
// Create the user and set her role.
$user_id = wp_create_user( $email, $password, $email );
// Set the user's role (and remove the previous role).
$user = new WP_User( $user_id );
$user->set_role( 'author' );
Pange tähele, et ülalolevas koodis määrame ka rolli. Selleks tuleb esmalt haarata WP_User eksemplar ja seejärel meie $user_id abil määrata roll.
Otsustan kasutada autorit, kuid on ka teisi, mille hulgast saate valida (või kasutada mis tahes andmestruktuuris sisalduvat).
3 Kas pole enamat?
Ja sellega peaks teie kasutaja olema loodud. Osa sellest sõltub suuresti teie kasutatud konksust, sellest, kuidas olete selle oma protsessis rakendanud, ja viisist, kuidas lubate administraatoril kontosid luua.
See on keerukam teema, mida tahaksin lõpuks ühes tulevases postituses käsitleda. Et see seeria oleks võimalikult vahetu ja lahja, püüan jääda võimalikult keskendunud vajalikele põhisammudele.
Kõike muud saab projekti nõuete kohaselt rakendada või sisustada kõige muuga.
See on lihtsalt konto loomine
See on siiski vaid WordPressi kasutajate programmiliselt loomise töötlemine. Tegelikult on see vaid ühe kasutaja loomine.
Mitme kasutaja loomiseks eeldage, et teil on mitu massiivi teabega, mille kaudu saate itereerida ja seejärel kasutajaid luua. Rakendus on sama, kuigi see erineb igal kontol.
Seda arvestades hakkan homme tegelema postitussisu programmilise loomisega. Ja pärast seda räägime antud kasutaja seostamisest antud postituse sisuga ja sellest, mida me sellega teha saame (ja ka sellest, miks see üldse oluline oleks).
