Cum migrezi de la Thinkific la WordPress. Partea 2: Import utilizatori
În prima partea din această serie de 5 articole am vorbit despre proiectul pentru care am făcut migrarea, cum am făcut planul de migrare și cum am exportat datele din Thinkific
.
Aici, în partea a doua voi acoperi funcționalitatea comenzii WP-CLI
pe care am implementat-o pentru a importa utilizatorii în WordPress
.
Mai jos îți las și lista de articole din serie:
Cuprins
După cum spuneam, aici începe partea cea mai interesantă din tot procesul de migrare a datelor din Thinkific
în WordPress
.
Intenția mea este de a crea un modul care să înglobeze tot ceea ce am avut nevoie pentru comenzile personalizate de WP-CLI
, în speță clasa PHP
pe care am implementat-o.
Voi parcurge pe rând punctele cheie din clasă și voi explica pe parcurs abordările.
Declararea comenzilor personalizate WP-CLI
Pentru început am definit o metodă în care am adăugat 3 comenzi personalizate WP-CLI
pe care le-am implementat mai departe:
Urmează ca aceste 3 comenzi să fie disponibile în rularea lor într-un terminal shell utilizând WP-CLI
.
Citirea din fișier
În toate cele 3 callback-uri derivate din metoda de mai sus și anume import_users
, import_progress
și import_reviews
a fost nevoie de citire din fișierele cu date (2 fișiere CSV
și un fișier JSON
).
Pentru asta am folosit API-ul din clasa WP_Filesystem
care aparține de WordPress
și care m-a ajutat să păstrez codul destul de curat și în limitele standardelor.
După cum se observă, am implementat o altă metodă de ajutor pentru a interpreta conținutul CSV
într-un format ușor de parcurs și anume vector:
Apoi am putut să parcurg simplu liniile din fișierul CSV
și să purced mai departe la procesarea datelor:
Evident am sărit peste capul de tabel (în liniile 2-5). Apoi am procesat doar utilizatorii care sunt înrolați la cel puțin un curs (linia 9). Au fost câteva cazuri în care utilizatorii erau doar înscriși pe platformă, dar nu aveau niciun curs achiziționat. În consecință nu avea rost să migrez și aceste date, nefiind relevante.
Apoi, pentru ceilalți utilizatori, am apelat cele două metode: de creare utilizator și de creeare comandă în WooCommerce
- spuneam mai sus că este nevoie de a mă integra cu procesul normal de achiziție curs prin Tutor LMS - WooCommerce
.
Creare utilizator
În metoda de creare utilizator nu am făcut ceva în mod special.
Am transmis către metodă informațiile din linia CSV
și în cazul în care utilizatorul căutat după adresa de email nu există deja, îl creez.
În ambele este returnat ID-ul utilizatorului și doar în caz de eroare de creare utilizator este returnat null
.
Bineînțeles, la crearea utilizatorului am folosit datele din fișier și am făcut o interpretare a datei de înregistrare pentru că formatul furnizat nu este același cu cel acceptat de structura din tabelul de utilizatori WordPress
- am eliminat partea cu UTC
din dată.
Creare comandă WooCommerce
Sper că m-am făcut înțeles prin „creare comandă WooCommerce”
.
Ca să fie clar, mă refer la o comandă de produse într-un magazin online creat cu WooCommerce
care urmează să fie plătită și așa mai departe.
În metoda de creare comandă WooCommerce
am făcut o potrivire manuală cu ID-urile produselor pentru cursuri, după cum se vede mai jos în liniile 2-8.
ID-urile 1, 2, 3 și 4 sunt ale produselor din baza de date care sunt atribuite cursurilor respective din modulul Tutor LMS
.
Evident, ID-urile reale sunt altele.
În loc de variabila $raw_course_list
aș fi putut să fac o căutare în baza de date după cursuri și atribuirea ID-urilor să fie dinamică, dar aș fi introdus încă o cerere către baza de date și aș fi complicat lucrurile.
Dacă ar fi fost vorba de mult mai multe cursuri, probabil că așa aș fi făcut pentru a-mi salva timp.
Am început mai departe să pregătesc „comanda”, am pus cursurile în coș, am calculat totalurile, am setat adresa clientului, metoda de plată și data și am setat „comanda” ca plătită. Din acel moment utilizatorul se transformă în cursant pe noua platformă de e-learning.
Încheiere
Cam asta a fost tot cu importul utilizatorilor, rămâne să rulez comanda și magia se întâmplă. 🪄
Următorul articol va decurge cam în aceeași manieră, dar sunt și acolo câteva lucruri interesante de notat.
Dacă ai nevoie de o astfel de migrare, dă clic mai jos și hai să discutăm.
Contactează-măPartajează pe: