Cum migrezi de la Thinkific la WordPress. Partea 4: Import recenzii
În articolul anterior, partea a treia a acestei serii de 5 articole, am descris implementarea comenzii WP-CLI
de importare a progresului cursurilor pentru utilizatori.
În partea a patra voi descrie funcționalitatea comenzii WP-CLI
pentru a importa recenziile date de utilizatori cursurilor.
Mai jos îți las și lista de articole din serie:
Cuprins
Declararea metodei de import recenzii
Încep din nou cu declararea metodei și a variabilelor ajutătoare pentru citirea din fișier:
Am declarat și o variabilă de tip vector cu lista fișierelor cu recenzii pentru cursuri pe care o voi parcurge iterativ cu foreach ( $files as $file )
.
Citirea din fișier
Structura fișierului JSON
Mai pun aici încă o dată structura fișierului de recenzii în format JSON
:
Ca și în articolele precendente, citirea din fișiere se face aproximativ la fel, doar că de această dată nu voi mai folosi metoda ajutătoare parse_csv_content
de compunere a vectorului cu liniile din fișierul CSV
, ci voi folosi funcția json_decode
pentru interpretarea codului JSON
:
Am declarat și alte câteva variabile care-mi vor folosi mai departe.
M-am asigurat că numele cursurilor din fișierele cu recenzii din câmpul name
corespund cu numele cursurilor create în Tutor LMS
.
Procesarea recenziilor
Am început apoi să parcurg recenziile din vectorul review
din JSON
și am procedat astfel mai departe:
Am făcut o căutare după numele utilizatorului pentru a-i lua ID-ul din baza de date, folosind metoda de ajutor search_user_by_name
, descrisă ceva mai jos.
Apoi am folosit funcția wp_insert_comment
pentru crearea recenziei, căreia i-am transmis valorile necesare:
- ID-ul cursului căruia îi aparține recenzia
- numele autorului
- data recenziei (ușor reformatată)
- conținutul recenziei
- valorile personalizate ale modulului
Tutor LMS
pentru ca recenzia să fie considerată una dintre cele ale cursurilorTutor LMS
- ID-ul utilizatorului și
- evaluarea recenziei, nota
Metoda de căutare a utilizatorului după nume și prenume este aici:
În primă fază am făcut o mică normalizare a numelui, în speță am eliminaț spațiile din extremități și am înlocuit spațiile duble din nume cu unul singur.
Am observat foarte multe neconcordanțe de acest gen în fișierul exportat JSON
obținut din paginile cursurilor din Thinkific
.
Apoi (în linile 3-5) am împărțit numele după spațiu pentru a putea apoi să obțin numele și prenumele, chiar și atunci când numele complet este format din 3 nume.
În acest caz am folosit ChatGPT și așa a ieșit combinația dintre funcțiile explode
, array_pop
și implode
.
Mai departe am folosit clasa WP_User_Query
pentru interogarea complexă și găsirea utilizatorului după numele și prenumele lui și în final am returnat ID-ul.
Încheiere
Cu rularea ultimei comenzi WP-CLI
avem și recenziile adăugate:
Migrarea este finalizată, în următorul articol voi mai face câteva adaptări ale temei, ale șabloanelor Tutor LMS
și WooCommerce
.
Dacă ai nevoie de o astfel de migrare, dă clic mai jos și hai să discutăm.
Contactează-măPartajează pe: