Autentificare
Începe

Documentație Easy Digital Downloads

Documentație, Materiale de Referință și Tutoriale pentru Easy Digital Downloads 

EDD_Customer

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
  • email
  • 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:
Apoi, configurați niște argumente:
$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.

Și apoi rulați metoda de creare:
$customer->create( $args );
Și acum, în acest punct, clientul dvs. ar trebui să existe.
Exemplul 2:
Exemplul de mai sus arată cum să creați un client cu toate opțiunile posibile. Singura
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-10

get_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.

A fost util acest articol?

Începeți să vindeți astăzi!

Alăturați-vă peste 50.000 de proprietari de magazine inteligente și începeți să folosiți cel mai ușor mod de a vinde produse digitale cu WordPress.

Copyright © 2025 Sandhills Development, LLC

[universally_switcher]