Zaloguj się
Rozpocznij

Dokumentacja Easy Digital Downloads

Dokumentacja, materiały referencyjne i samouczki dla Easy Digital Downloads 

EDD_Customer

Klasa EDD_Customer służy do pobierania danych klienta, tworzenia nowych wpisów klientów i edycji istniejących wpisów klientów. Wartości, którymi można zarządzać za pomocą tej klasy, to:

  • user_id
  • name
  • email
  • payment_ids
  • purchase_value
  • purchase_count
  • notes

Pobieranie klienta

Twoje powody pobierania danych klienta mogą się różnić od prostego wyświetlania informacji po wykorzystanie ich do statystyk, logowania lub czegokolwiek innego. Oto kroki, aby pobrać i wyświetlić informacje o kliencie.

Krok 1, Pobierz dane

Aby utworzyć obiekt klienta, musisz przekazać jakiś identyfikator podczas tworzenia instancji klasy. Może to być adres e-mail, identyfikator klienta lub identyfikator użytkownika WordPress.

Przykłady:

Email

$customer = new EDD_Customer( '[email protected]' );

ID klienta

$customer = new EDD_Customer( 33 );

ID użytkownika WordPress

$customer = new EDD_Customer( 96, true );

Uwaga: dla identyfikatora użytkownika WordPress musisz przekazać wartość true jako drugi parametr, aby wiedział, że ma szukać w WordPress, a nie w EDD.

Krok 2, Użyj danych

Teraz możesz uzyskać dostęp do właściwości obiektu klienta w następujący sposób:

  • $customer->name;
  • $customer->email;
  • $customer->date_created;
  • $customer->purchase_count;
  • $customer->purchase_value;
  • $customer->id; // ID klienta
  • $customer->user_id; // ID użytkownika WordPress
  • $customer->payment_ids;

Możesz je wypisać, sparsować; cokolwiek zechcesz.

Pobieranie danych płatności klienta

Klasa EDD_Customer ma metodę o nazwie
get_payments(). Ta metoda zwraca tablicę obiektów EDD_Payment. Przykład:

$customer = new EDD_Customer( 33 );

$payments = $customer->get_payments();

Teraz $payments będzie zawierać tablicę obiektów EDD_Payment. Więcej informacji o tym, jak wygląda ta tablica,
znajdziesz w dokumentacji klasy EDD_Payment.

Tworzenie klienta

Najpierw utwórz obiekt:

$customer = new EDD_Customer;
Przykład 1:
Następnie skonfiguruj niektóre argumenty:
$args = array(
	'user_id'        => 12
	'name'           => 'Jose Canseco',
	'email'          => '[email protected]',
	'payment_ids'    => '',
	'purchase_value' => '',
	'purchase_count' => '',
	'notes'          => 'Whatever note you'd like',
);

Uwaga: podany
user_id to numer identyfikacyjny użytkownika WordPress. Jest wymagany tylko wtedy, gdy chcesz powiązać swojego Klienta z użytkownikiem WordPress. Jeśli nie, usuń go z tablicy.

A następnie uruchom metodę tworzenia:
$customer->create( $args );
I teraz w tym momencie Twój Klient powinien istnieć.
Przykład 2:
Powyższy przykład pokazuje, jak utworzyć klienta ze wszystkimi możliwymi opcjami. Jedyną
wymaganą opcją jest e-mail, więc to również zadziała:
$args = array(
	'email' => '[email protected]',
);
$customer->create( $args );

Tworzy to klienta tylko z podanym adresem e-mail, co działa doskonale.

Aktualizacja klienta

Krok 1, Pobierz dane.

Użyj przykładowego kodu z sekcji „Pobieranie klienta” powyżej.

Krok 2, Zaktualizuj dane

Istnieją dwa sposoby aktualizacji danych klienta za pomocą EDD_Customer. Jednym z nich jest użycie
metody update() i aktualizacja wielu pól naraz.

Przykład:

$customer = new EDD_Customer( 33 );

$update_args = array(
	'email'          => '[email protected]',
	'name'          => 'Jose Canseco',
);

Teraz klient 33 ma zaktualizowany adres e-mail i nową notatkę.

Uwaga: aktualizacja pola notatek za pomocą tej metody spowoduje usunięcie wszystkich istniejących notatek. Użyj wspomnianej poniżej metody add_note(), aby dodać nową notatkę.

Aktualizacja konkretnych pól

Zamiast używać ogólnej metody update() wymienionej powyżej, zazwyczaj powinieneś próbować używać jednej z poniższych metod pomocniczych. Zapewniają one specyficzne, ograniczone funkcje, które mogą pomóc zmniejszyć liczbę błędów.

Dla każdej z poniższych metod najpierw utworzyłbyś klasę klienta, jak powyżej:

$customer = new EDD_Customer( 33 );

attach_payment() i remove_payment()

Służą one do dołączania i usuwania płatności do i od klienta. Obie przyjmują identyfikator płatności jako pierwszą zmienną i opcję boolean jako drugą. Druga opcja zaktualizuje statystyki, jeśli zostanie ustawiona na true.

Przykłady:


$customer->attach_payment( 33, true );

$customer->remove_payment( 33, true );

increase_purchase_count() i decrease_purchase_count()

Służą one do zwiększania i zmniejszania
liczby zakupów dokonanych przez jednego klienta. Oba przyjmują po prostu liczbę całkowitą, zmieniając zapisaną wartość o tę kwotę.

Przykłady:

$customer->increase_purchase_count( 1 );

$customer->decrease_purchase_count( 1 );

increase_value() i decrease_value()

Służą one do zwiększania i zmniejszania kwoty wydanej przez jednego klienta. Oba przyjmują po prostu liczbę dziesiętną, z dokładnością do dwóch miejsc, zmieniając zapisaną wartość o tę kwotę.

Przykłady:
$customer->increase_value( 14.98 );
$customer->decrease_value( 3.00 );

get_notes()

Ta metoda zwraca notatki pozostawione na koncie klienta. Akceptuje 2 zmienne, pierwsza określa, ile notatek chcesz uzyskać, a druga to przesunięcie.

Przykłady:
$customer->get_notes( 5 ); // pobiera pierwsze 5 notatek
$customer->decrease_value( 5, 6 ); // pobiera 5 notatek zaczynając od pozycji 6, czyli notatki 6-10

get_notes_count()

Ta metoda zwraca liczbę notatek na koncie klienta. Nie przyjmuje żadnych danych wejściowych.

Przykład:
$customer->get_notes_count();

add_note()

Ta metoda akceptuje ciąg znaków jako dane wejściowe i przechowuje go jako nową notatkę na koncie klienta. Zachowuje podziały wierszy, ale nie pozwala na HTML.

Przykład:

$customer->add_note( 'To jest notatka. Czyż nie jest fajna?' );

Metadane klienta

Dowolne metadane klienta mogą być zarządzane za pomocą funkcji meta wbudowanych w klasę EDD_Customer.

get_meta( $meta_key = ”, $single = true )

get_meta przyjmuje klucz meta i zwraca jego wartość. Jeśli parametr single jest ustawiony na false, zawsze zwróci tablicę.

add_meta( $meta_key = ”, $meta_value, $unique = false )

add_meta akceptuje klucz meta i jego wartość, ale także akceptuje wartość logiczną dla parametru unique. Jeśli trzeci argument jest prawdziwy, add_meta powiedzie się tylko wtedy, gdy klucz meta jeszcze nie istnieje. Zwraca false w przypadku niepowodzenia. True w przypadku sukcesu.

update_meta( $meta_key = ”, $meta_value, $prev_value = ” )

update_meta akceptuje klucz meta i nową wartość, którą chcesz dla niego ustawić. Jeśli masz wiele kluczy o tej samej nazwie, wszystkie zostaną zaktualizowane o nową wartość. Trzeci argument akceptuje wartość do porównania z poprzednią wartością. Więc jeśli masz już kilka kluczy meta o nazwie
foo, ale tylko jeden z wartością bar, możesz ustawić bar jako trzeci argument, a aktualizacja nastąpi tylko na tym jednym. Zwraca false w przypadku niepowodzenia. True w przypadku sukcesu.

delete_meta( $meta_key = ”, $meta_value = ” )

delete_meta usunie wszystkie metadane z pasującym kluczem. Jeśli zostanie również podana wartość, obie muszą pasować. Zwraca false w przypadku niepowodzenia. True w przypadku sukcesu.

Adresy e-mail klienta

Każdy klient może mieć wiele adresów e-mail, co pozwala mu na zakupy z więcej niż jednego adresu lub na zakupy z jednego, a otrzymywanie wsparcia z innego. Każdy klient będzie miał również główny adres e-mail, który jest używany jako domyślny dla klienta. W zakładce Zarządzanie klientami interfejs wygląda tak:

Klasa EDD_Customer pozwala programiście na usuwanie adresów od klienta i dodawanie adresów do klienta, a także na ustawienie konkretnego adresu jako głównego.

add_email( $email = ”, $primary = false )

Ta funkcja akceptuje adres e-mail do dodania do klienta. Jeśli drugi parametr jest prawdziwy, nowy adres e-mail zostanie ustawiony jako główny adres klienta. Zwraca false w przypadku błędu. True w przypadku sukcesu.

set_primary_email( $new_primary_email = ” )

Ta funkcja akceptuje adres e-mail i jeśli adres e-mail jest już powiązany z tym klientem, ustawi go jako główny adres e-mail tego klienta. Zwraca false w przypadku błędu. True w przypadku sukcesu.

remove_email( $email = ” )

Ta funkcja akceptuje adres e-mail i jeśli adres e-mail jest już powiązany z tym klientem, usuwa go od tego klienta. Zwraca false w przypadku błędu. True w przypadku sukcesu.

Czy ten artykuł był pomocny?

Zacznij sprzedawać już dziś!

Dołącz do ponad 50 000 sprytnych właścicieli sklepów i zacznij korzystać z najłatwiejszego sposobu sprzedaży produktów cyfrowych za pomocą WordPress.

Copyright © 2025 Sandhills Development, LLC

[universally_switcher]