Cuprins
Clasa EDD_Customer este utilizată pentru a obține date despre clienți, a crea noi înregistrări de clienți și a edita înregistrările existente ale clienților. Valorile care pot fi gestionate cu această clasă sunt:
- user_id
- name
- payment_ids
- purchase_value
- purchase_count
- notes
Obținerea unui client
Motivele dvs. pentru obținerea datelor clientului pot varia de la simpla afișare a informațiilor la utilizarea lor pentru statistici sau înregistrare sau orice altceva. Iată pașii pentru a obține și a afișa informații despre clienți.
Pasul 1, Obțineți datele
Pentru a crea un obiect Client, trebuie să furnizați un identificator atunci când instanțiați clasa. Acesta poate fi adresa de e-mail, ID-ul clientului sau ID-ul utilizatorului WordPress.
Exemple:
Email
$customer = new EDD_Customer( '[email protected]' );
ID client
$customer = new EDD_Customer( 33 );
ID utilizator WordPress
$customer = new EDD_Customer( 96, true );
Notă: pentru ID-ul utilizatorului WordPress, trebuie să furnizați valoarea true ca al doilea parametru, astfel încât să știe să caute în WordPress, nu în EDD.
Pasul 2, Utilizați datele
Acum puteți accesa proprietățile obiectului client astfel:
- $customer->name;
- $customer->email;
- $customer->date_created;
- $customer->purchase_count;
- $customer->purchase_value;
- $customer->id; // ID client
- $customer->user_id; // ID utilizator WordPress
- $customer->payment_ids;
Le puteți afișa, analiza; orice doriți.
Obținerea datelor de plată ale clientului
Clasa EDD_Customer are o metodă numită
get_payments(). Această metodă va returna un array de obiecte EDD_Payment. Exemplu:
$customer = new EDD_Customer( 33 ); $payments = $customer->get_payments();
Acum $payments va conține un array de obiecte EDD_Payment. Pentru mai multe informații despre cum arată acel array,
vă rugăm să consultați documentația clasei EDD_Payment.
Crearea unui client
Mai întâi, instanțiați un obiect:
$customer = new EDD_Customer;
Exemplul 1:
$args = array( 'user_id' => 12 'name' => 'Jose Canseco', 'email' => '[email protected]', 'payment_ids' => '', 'purchase_value' => '', 'purchase_count' => '', 'notes' => 'Whatever note you'd like', );
Notă:
user_id de mai sus este un număr ID de utilizator WordPress. Este necesar doar dacă doriți să asociați clientul dvs. cu un utilizator WordPress. Dacă nu, eliminați-l din array.
$customer->create( $args );
necesară opțiune este emailul, deci și aceasta ar funcționa:
$args = array( 'email' => '[email protected]', );
$customer->create( $args );
Aceasta creează un client doar cu adresa de email furnizată, ceea ce funcționează perfect.
Actualizarea unui client
Pasul 1, Obțineți datele.
Utilizați exemplul de cod din secțiunea „Obținerea unui client” de mai sus.
Pasul 2, Actualizați datele
Există două moduri de a actualiza datele clienților cu EDD_Customer. Unul este să utilizați
metoda update() și să actualizați mai multe câmpuri simultan.
Exemplu:
$customer = new EDD_Customer( 33 ); $update_args = array( 'email' => '[email protected]', 'name' => 'Jose Canseco', );
Acum clientul 33 are o adresă de email actualizată și o notă nouă.
Notă: actualizarea câmpului notes cu această metodă va șterge orice note existente. Utilizați metoda add_note() menționată mai jos pentru a adăuga o notă nouă.
Actualizarea câmpurilor specifice
În loc să utilizați metoda generală update() listată mai sus, în general ar trebui să încercați să utilizați una dintre metodele ajutătoare furnizate mai jos. Acestea oferă funcționalități specifice, limitate, care pot ajuta la reducerea erorilor.
Pentru fiecare dintre următoarele metode, ați instanția mai întâi clasa clientului, așa cum este descris mai sus:
$customer = new EDD_Customer( 33 );
attach_payment() și remove_payment()
Acestea sunt utilizate pentru atașarea și detașarea plăților de la și către un client. Ambele iau un payment_id ca primă variabilă și o opțiune booleană ca a doua. A doua va actualiza statisticile dacă este setată la true.
Exemple:
$customer->attach_payment( 33, true );
$customer->remove_payment( 33, true );
increase_purchase_count() și decrease_purchase_count()
Acestea sunt folosite pentru a crește și a scădea
numărul de achiziții efectuate de un singur client. Ambele primesc pur și simplu un număr întreg, modificând valoarea stocată cu atât.
Exemple:
$customer->increase_purchase_count( 1 );
$customer->decrease_purchase_count( 1 );
increase_value() și decrease_value()
Acestea sunt folosite pentru a crește și a scădea suma cheltuită de un singur client. Ambele primesc pur și simplu un număr zecimal, până la două zecimale, modificând valoarea stocată cu atât.
Exemple:
$customer->increase_value( 14.98 );
$customer->decrease_value( 3.00 );
get_notes()
Această metodă returnează notele lăsate în contul clientului. Acceptă 2 variabile, prima pentru câte note doriți, iar a doua este un offset.
Exemple:
$customer->get_notes( 5 ); // obține primele 5 note$customer->decrease_value( 5, 6 ); // obține 5 note începând de la poziția 6, deci notele 6-10get_notes_count()
Această metodă returnează numărul de note din contul clientului. Nu acceptă nicio intrare.
Exemplu:
$customer->get_notes_count();
add_note()
Această metodă acceptă un șir de caractere ca intrare și îl stochează ca o notă nouă în contul clientului. Păstrează întreruperile de linie, dar nu permite HTML.
Exemplu:
$customer->add_note( 'Aceasta este o notă. Nu-i așa că e grozav?' );
Metadate client
Metadatele arbitrare ale clienților pot fi gestionate folosind funcțiile meta încorporate în clasa EDD_Customer.
get_meta( $meta_key = '', $single = true )
get_meta acceptă pur și simplu o cheie meta și returnează valoarea. Dacă single este setat la false, va returna întotdeauna un array.
add_meta( $meta_key = '', $meta_value, $unique = false )
add_meta acceptă o cheie meta și valoarea acesteia, dar acceptă și un boolean pentru unic. Dacă a treia intrare este true, atunci add_meta va reuși doar dacă cheia meta nu există deja. Returnează false pentru eșec. True pentru succes.
update_meta( $meta_key = '', $meta_value, $prev_value = '' )
update_meta acceptă o cheie meta și noua valoare pe care doriți să o setați pentru aceasta. Dacă aveți mai multe chei cu același nume, toate vor fi actualizate cu noua valoare. A treia intrare acceptă o valoare pentru a compara valoarea anterioară. Deci, dacă aveți deja mai multe chei meta de
foo, dar doar una cu o valoare de bar, ați putea face din bar a treia intrare și actualizarea s-ar efectua doar pe aceasta. Returnează false pentru eșec. True pentru succes.
delete_meta( $meta_key = '', $meta_value = '' )
delete_meta va șterge toate metadatele cu o cheie corespunzătoare. Dacă este furnizată și o valoare, atunci ambele trebuie să corespundă. Returnează false pentru eșec. True pentru succes.
Adrese de e-mail ale clienților
Fiecare client poate avea mai multe adrese de e-mail, permițându-i să achiziționeze de la mai multe adrese sau să achiziționeze de la una și să primească suport de la alta. Fiecare client va avea, de asemenea, o adresă de e-mail principală, care este folosită ca implicită pentru client. În fila Gestionare clienți, interfața arată astfel:
Clasa EDD_Customer permite dezvoltatorului să elimine adrese de la un client și să adauge adrese la un client, precum și să facă o adresă specifică principală.
add_email( $email = '', $primary = false )
Această funcție acceptă o adresă de e-mail pentru a o adăuga la client. Dacă al doilea parametru este adevărat, noua adresă de e-mail va fi setată ca adresă principală pentru client. Returnează false pentru eșec. True pentru succes.
set_primary_email( $new_primary_email = ” )
Această funcție acceptă o adresă de e-mail și, dacă adresa de e-mail este deja atașată acestui client, o va face adresa de e-mail principală pentru acel client. Returnează false pentru eșec. True pentru succes.
remove_email( $email = ” )
Această funcție acceptă o adresă de e-mail și, dacă adresa de e-mail este deja atașată acestui client, o elimină de la acel client. Returnează false pentru eșec. True pentru succes.
