Accedi
Inizia

Documentazione di Easy Digital Downloads

Documentazione, Materiali di Riferimento e Tutorial per Easy Digital Downloads 

EDD_Customer

La classe EDD_Customer viene utilizzata per ottenere dati del cliente, creare nuove voci cliente e modificare voci cliente esistenti. I valori che possono essere gestiti con questa classe sono:

  • user_id
  • nome
  • email
  • payment_ids
  • purchase_value
  • purchase_count
  • notes

Ottenere un cliente

Le tue ragioni per ottenere i dati del cliente possono variare dal semplice rendering delle informazioni all'utilizzo per statistiche, logging o qualsiasi altra cosa. Ecco i passaggi per ottenere e visualizzare le informazioni del cliente.

Passaggio 1, Ottieni i dati

Per creare un oggetto Cliente devi passare un qualche tipo di identificatore quando istanzi la classe. Questo può essere un indirizzo email, un ID cliente o un ID utente WordPress.

Esempi:

Email

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

ID Cliente

$customer = new EDD_Customer( 33 );

ID utente WordPress

$customer = new EDD_Customer( 96, true );

Nota: per l'ID utente WordPress devi passare un valore true come secondo parametro, in modo che sappia cercare in WordPress anziché in EDD.

Passaggio 2, Usa i dati

Ora puoi accedere alle proprietà dell'oggetto cliente in questo modo:

  • $customer->name;
  • $customer->email;
  • $customer->date_created;
  • $customer->purchase_count;
  • $customer->purchase_value;
  • $customer->id; // ID cliente
  • $customer->user_id; // ID utente WordPress
  • $customer->payment_ids;

Puoi visualizzarli, analizzarli; tutto ciò che desideri.

Ottenere i dati di pagamento del cliente

La classe EDD_Customer ha un metodo chiamato
get_payments(). Questo metodo restituirà un array di oggetti EDD_Payment. Esempio:

$customer = new EDD_Customer( 33 );

$payments = $customer->get_payments();

Ora $payments conterrà un array di oggetti EDD_Payment. Per maggiori informazioni su come appare quell'array,
si prega di consultare la documentazione sulla classe EDD_Payment.

Creare un cliente

Prima istanzia un oggetto:

$customer = new EDD_Customer;
Esempio 1:
Quindi imposta alcuni argomenti:
$args = array(
	'user_id'        => 12
	'name'           => 'Jose Canseco',
	'email'          => '[email protected]',
	'payment_ids'    => '',
	'purchase_value' => '',
	'purchase_count' => '',
	'notes'          => 'Whatever note you'd like',
);

Nota: il
user_id sopra è un numero ID utente di WordPress. È richiesto solo se si desidera associare il proprio Cliente a un utente WordPress. In caso contrario, rimuovilo dall'array.

E quindi esegui il metodo di creazione:
$customer->create( $args );
E ora a questo punto il tuo Cliente dovrebbe esistere.
Esempio 2:
L'esempio sopra mostra come creare un cliente con tutte le opzioni possibili. L'unica
opzione *richiesta* è l'email, quindi anche questo funzionerebbe:
$args = array(
	'email' => '[email protected]',
);
$customer->create( $args );

Questo crea un cliente con solo l'indirizzo email fornito, il che funziona benissimo.

Aggiornare un cliente

Passaggio 1, Ottieni i Dati.

Utilizza il codice di esempio da “Ottenere un Cliente” sopra.

Passaggio 2, Aggiorna i Dati

Ci sono due modi per aggiornare i dati del cliente con EDD_Customer. Uno è usare il
metodo update() e aggiornare più campi contemporaneamente.

Esempio:

$customer = new EDD_Customer( 33 );

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

Ora il cliente 33 ha un indirizzo email aggiornato e una nuova nota.

Nota: l'aggiornamento del campo note con questo metodo eliminerà tutte le note esistenti. Utilizza il metodo add_note() menzionato di seguito per aggiungere una nuova nota.

Aggiornare campi specifici

Piuttosto che usare il metodo generale update() elencato sopra, dovresti generalmente provare a usare uno dei metodi helper forniti di seguito. Questi forniscono funzionalità specifiche e limitate che possono aiutare a ridurre gli errori.

Per ciascuno dei seguenti metodi dovresti prima istanziare la classe cliente come sopra:

$customer = new EDD_Customer( 33 );

attach_payment() e remove_payment()

Questi vengono utilizzati per allegare e rimuovere pagamenti da e verso un cliente. Entrambi prendono un payment_id come prima variabile e un'opzione booleana come seconda. La seconda aggiornerà le statistiche se impostata su true.

Esempi:


$customer->attach_payment( 33, true );

$customer->remove_payment( 33, true );

increase_purchase_count() e decrease_purchase_count()

Questi sono usati per aumentare e diminuire il
numero di acquisti effettuati da un singolo cliente. Entrambi accettano semplicemente un intero, modificando il valore memorizzato di quella quantità.

Esempi:

$customer->increase_purchase_count( 1 );

$customer->decrease_purchase_count( 1 );

increase_value() e decrease_value()

Questi sono usati per aumentare e diminuire l'importo speso da un singolo cliente. Entrambi accettano semplicemente un numero decimale, fino a due cifre, modificando il valore memorizzato di quella quantità.

Esempi:
$customer->increase_value( 14.98 );
$customer->decrease_value( 3.00 );

get_notes()

Questo metodo restituisce le note lasciate sull'account del cliente. Accetta 2 variabili, la prima per quante note si desiderano, e la seconda è un offset.

Esempi:
$customer->get_notes( 5 ); // ottiene le prime 5 note
$customer->decrease_value( 5, 6 ); // ottiene 5 note a partire dalla posizione 6, quindi le note dalla 6 alla 10

get_notes_count()

Questo metodo restituisce il numero di note sull'account del cliente. Non accetta input.

Esempio:
$customer->get_notes_count();

add_note()

Questo metodo accetta una stringa come input e la memorizza come nuova nota sull'account del cliente. Conserva i ritorni a capo, ma non consente l'HTML.

Esempio:

$customer->add_note( 'Questa è una nota. Non è fantastico?' );

Metadati del cliente

Metadati arbitrari del cliente possono essere gestiti utilizzando le funzioni meta integrate nella classe EDD_Customer.

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

get_meta accetta semplicemente una chiave meta e restituisce il valore. Se single è impostato su false restituirà sempre un array.

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

add_meta accetta una meta_key e il suo valore, ma accetta anche un booleano per unique. Se il terzo input è true, allora add_meta avrà successo solo se la meta_key non esiste in precedenza. Restituisce false in caso di fallimento. True per successo.

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

update_meta accetta una meta_key e il nuovo valore che si desidera impostare per essa. Se si hanno più chiavi con lo stesso nome, verranno tutte aggiornate con il nuovo valore. Il terzo input accetta un valore per confrontare il valore precedente. Quindi, se si hanno già diverse meta_keys di
foo ma solo una con un valore di bar, si potrebbe rendere bar il terzo input e l'aggiornamento avverrà solo su quella. Restituisce false in caso di fallimento. True per successo.

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

delete_meta eliminerà tutti i metadati con una chiave corrispondente. Se viene anche passato un valore, allora entrambi devono corrispondere. Restituisce false in caso di fallimento. True per successo.

Indirizzi email del cliente

Ogni cliente può avere più indirizzi email, consentendo loro di acquistare da più di un indirizzo, o acquistare da uno e ricevere supporto da un altro. Ogni cliente avrà anche un indirizzo email primario, che viene utilizzato come predefinito per il cliente. Nella scheda Gestione clienti l'interfaccia utente appare così:

La classe EDD_Customer consente allo sviluppatore di rimuovere indirizzi da un cliente e aggiungere indirizzi a un cliente, oltre a rendere un indirizzo specifico primario.

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

Questa funzione accetta un indirizzo email da aggiungere al cliente. Se il secondo input è true, il nuovo indirizzo email verrà impostato come indirizzo primario per il cliente. Restituisce false in caso di fallimento. True per successo.

set_primary_email( $new_primary_email = ” )

Questa funzione accetta un indirizzo email e se l'indirizzo email è già associato a questo cliente, lo imposterà come indirizzo email primario per quel cliente. Restituisce false in caso di fallimento. True per successo.

remove_email( $email = ” )

Questa funzione accetta un indirizzo email e se l'indirizzo email è già associato a questo cliente, lo rimuove da quel cliente. Restituisce false in caso di fallimento. True per successo.

Questo articolo è stato utile?

Inizia a vendere oggi!

Unisciti a oltre 50.000 proprietari di negozi intelligenti e inizia a usare il modo più semplice per vendere prodotti digitali con WordPress.

Copyright © 2025 Sandhills Development, LLC

[universally_switcher]