Inhaltsverzeichnis
Die Klasse EDD_Customer wird verwendet, um Kundendaten abzurufen, neue Kundeneinträge zu erstellen und vorhandene Kundeneinträge zu bearbeiten. Die Werte, die mit dieser Klasse verwaltet werden können, sind:
- user_id
- name
- payment_ids
- purchase_value
- purchase_count
- notes
Einen Kunden abrufen
Ihre Gründe für den Abruf von Kundendaten können von der einfachen Anzeige der Informationen bis zur Verwendung für Statistiken, Protokollierung oder andere Zwecke reichen. Hier sind die Schritte zum Abrufen und Anzeigen von Kundeninformationen.
Schritt 1: Daten abrufen
Um ein Customer-Objekt zu erstellen, müssen Sie beim Instanziieren der Klasse eine Art von Identifikator übergeben. Dies kann eine E-Mail-Adresse, eine Kunden-ID oder eine WordPress-Benutzer-ID sein.
Beispiele:
E-Mail
$customer = new EDD_Customer( '[email protected]' );
Kunden-ID
$customer = new EDD_Customer( 33 );
WordPress-Benutzer-ID
$customer = new EDD_Customer( 96, true );
Hinweis: Für die WordPress-Benutzer-ID müssen Sie den Wert true als zweiten Parameter übergeben, damit die Klasse weiß, dass sie WordPress und nicht EDD verwenden soll.
Schritt 2: Daten verwenden
Jetzt können Sie auf Eigenschaften des Kundenobjekts wie folgt zugreifen:
- $customer->name;
- $customer->email;
- $customer->date_created;
- $customer->purchase_count;
- $customer->purchase_value;
- $customer->id; // Kunden-ID
- $customer->user_id; // WordPress Benutzer-ID
- $customer->payment_ids;
Sie können diese ausgeben, parsen; was immer Sie möchten.
Zahlungsdaten eines Kunden abrufen
Die EDD_Customer-Klasse hat eine Methode namens
get_payments(). Diese Methode gibt ein Array von EDD_Payment-Objekten zurück. Beispiel:
$customer = new EDD_Customer( 33 ); $payments = $customer->get_payments();
Nun enthält $payments ein Array von EDD_Payment-Objekten. Weitere Informationen darüber, wie dieses Array aussieht,
finden Sie in der Dokumentation zur EDD_Payment-Klasse.
Einen Kunden erstellen
Instanziieren Sie zuerst ein Objekt:
$customer = new EDD_Customer;
Beispiel 1:
$args = array( 'user_id' => 12 'name' => 'Jose Canseco', 'email' => '[email protected]', 'payment_ids' => '', 'purchase_value' => '', 'purchase_count' => '', 'notes' => 'Whatever note you'd like', );
Hinweis: die
user_id oben ist eine WordPress-Benutzer-ID-Nummer. Sie ist nur erforderlich, wenn Sie Ihren Kunden mit einem WordPress-Benutzer verknüpfen möchten. Wenn nicht, entfernen Sie sie aus dem Array.
$customer->create( $args );
required option is email, so this would work as well:
$args = array( 'email' => '[email protected]', );
$customer->create( $args );
Dies erstellt einen Kunden nur mit der angegebenen E-Mail-Adresse, was völlig in Ordnung ist.
Einen Kunden aktualisieren
Schritt 1: Daten abrufen.
Verwenden Sie den Beispielcode aus „Einen Kunden abrufen“ oben.
Schritt 2: Daten aktualisieren
Es gibt zwei Möglichkeiten, Kundendaten mit EDD_Customer zu aktualisieren. Eine besteht darin, die
update()-Methode zu verwenden und mehrere Felder gleichzeitig zu aktualisieren.
Beispiel:
$customer = new EDD_Customer( 33 ); $update_args = array( 'email' => '[email protected]', 'name' => 'Jose Canseco', );
Nun hat Kunde 33 eine aktualisierte E-Mail-Adresse und eine neue Notiz.
Hinweis: Das Aktualisieren des Notizfelds mit dieser Methode löscht alle vorhandenen Notizen. Verwenden Sie die unten erwähnte add_note()-Methode, um eine neue Notiz hinzuzufügen.
Bestimmte Felder aktualisieren
Anstatt die oben aufgeführte allgemeine update()-Methode zu verwenden, sollten Sie im Allgemeinen versuchen, eine der unten aufgeführten Hilfsmethoden zu verwenden. Diese bieten spezifische, begrenzte Funktionalitäten, die helfen können, Fehler zu reduzieren.
Für jede der folgenden Methoden würden Sie zuerst die Kundenklasse wie oben instanziieren:
$customer = new EDD_Customer( 33 );
attach_payment() und remove_payment()
Diese werden zum Anhängen und Entfernen von Zahlungen an und von einem Kunden verwendet. Beide nehmen eine payment_id als erste Variable und eine boolesche Option als zweite. Die zweite aktualisiert Statistiken, wenn sie auf true gesetzt ist.
Beispiele:
$customer->attach_payment( 33, true );
$customer->remove_payment( 33, true );
increase_purchase_count() und decrease_purchase_count()
Diese werden verwendet, um die
Anzahl der Käufe eines einzelnen Kunden zu erhöhen und zu verringern. Beide nehmen einfach eine Ganzzahl entgegen und ändern den gespeicherten Wert um diesen Betrag.
Beispiele:
$customer->increase_purchase_count( 1 );
$customer->decrease_purchase_count( 1 );
increase_value() und decrease_value()
Diese werden verwendet, um den von einem einzelnen Kunden ausgegebenen Betrag zu erhöhen und zu verringern. Beide nehmen einfach eine Dezimalzahl auf zwei Stellen entgegen und ändern den gespeicherten Wert um diesen Betrag.
Beispiele:
$customer->increase_value( 14.98 );
$customer->decrease_value( 3.00 );
get_notes()
Diese Methode gibt Notizen zurück, die im Konto des Kunden hinterlassen wurden. Sie akzeptiert 2 Variablen, die erste für die Anzahl der gewünschten Notizen und die zweite ist ein Offset.
Beispiele:
$customer->get_notes( 5 ); // gets the first 5 notes
$customer->decrease_value( 5, 6 ); // gets 5 notes starting at position 6, so notes 6-10
get_notes_count()
Diese Methode gibt die Anzahl der Notizen im Konto des Kunden zurück. Sie benötigt keine Eingabe.
Beispiel:
$customer->get_notes_count();
add_note()
Diese Methode akzeptiert eine Zeichenkette als Eingabe und speichert sie als neue Notiz im Konto des Kunden. Sie behält harte Zeilenumbrüche bei, erlaubt jedoch kein HTML.
Beispiel:
$customer->add_note( 'Dies ist eine Notiz. Ist das nicht cool?' );
Kunden-Metadaten
Beliebige Kundenmetadaten können mit den Metadatenfunktionen der EDD_Customer-Klasse verwaltet werden.
get_meta( $meta_key = '', $single = true )
get_meta nimmt einfach einen Metaschlüssel entgegen und gibt den Wert zurück. Wenn 'single' auf false gesetzt ist, wird immer ein Array zurückgegeben.
add_meta( $meta_key = '', $meta_value, $unique = false )
add_meta akzeptiert einen Metaschlüssel und seinen Wert, aber auch einen booleschen Wert für 'unique'. Wenn die dritte Eingabe true ist, ist add_meta nur erfolgreich, wenn der Metaschlüssel noch nicht existiert. Gibt false bei Fehler zurück. True bei Erfolg.
update_meta( $meta_key = '', $meta_value, $prev_value = '' )
update_meta akzeptiert einen Metaschlüssel und den neuen Wert, den Sie dafür festlegen möchten. Wenn Sie mehrere Schlüssel mit demselben Namen haben, werden alle mit dem neuen Wert aktualisiert. Die dritte Eingabe akzeptiert einen Wert, um den vorherigen Wert zu vergleichen. Wenn Sie also bereits mehrere Metaschlüssel von foo haben, aber nur einen mit dem Wert bar, könnten Sie bar als dritte Eingabe verwenden und die Aktualisierung würde nur für diesen einen erfolgen. Gibt false bei Fehler zurück. True bei Erfolg.
delete_meta( $meta_key = '', $meta_value = '' )
delete_meta löscht alle Metadaten mit einem übereinstimmenden Schlüssel. Wenn auch ein Wert übergeben wird, müssen beide übereinstimmen. Gibt false bei Fehler zurück. True bei Erfolg.
Kunden-E-Mail-Adressen
Each customer can have multiple email addresses, allowing them to purchase from more than one address, or purchase from one and get support from another. Each customer will also have a primary email address, which gets used as a default for the customer. In the Customer Management tab the UI looks like this:
Die EDD_Customer-Klasse ermöglicht es dem Entwickler, Adressen von einem Kunden zu entfernen und Adressen zu einem Kunden hinzuzufügen sowie eine bestimmte Adresse als primär festzulegen.
add_email( $email = '', $primary = false )
Diese Funktion akzeptiert eine E-Mail-Adresse, die zum Kunden hinzugefügt werden soll. Wenn die zweite Eingabe true ist, wird die neue E-Mail-Adresse als primäre Adresse für den Kunden festgelegt. Gibt false bei Fehler zurück. True bei Erfolg.
set_primary_email( $new_primary_email = '' )
Diese Funktion akzeptiert eine E-Mail-Adresse und wenn die E-Mail-Adresse bereits mit diesem Kunden verknüpft ist, wird sie zur primären E-Mail-Adresse für diesen Kunden gemacht. Gibt false bei Fehler zurück. True bei Erfolg.
remove_email( $email = '' )
Diese Funktion akzeptiert eine E-Mail-Adresse und wenn die E-Mail-Adresse bereits mit diesem Kunden verknüpft ist, wird sie von diesem Kunden entfernt. Gibt false bei Fehler zurück. True bei Erfolg.
