Connexion
Commencer

Documentation Easy Digital Downloads

Documentation, matériel de référence et tutoriels pour Easy Digital Downloads 

EDD_Customer

La classe EDD_Customer est utilisée pour obtenir les données du client, créer de nouvelles entrées client et modifier les entrées client existantes. Les valeurs qui peuvent être gérées avec cette classe sont :

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

Obtenir un client

Vos raisons pour obtenir les données client peuvent varier, allant de la simple restitution des informations à leur utilisation pour des statistiques, des journaux ou toute autre chose. Voici les étapes pour obtenir et afficher les informations client.

Étape 1, Obtenir les données

Afin de créer un objet Customer, vous devez passer un identifiant lors de l'instanciation de la classe. Il peut s'agir d'une adresse e-mail, d'un ID client ou d'un ID utilisateur WordPress.

Exemples :

Email

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

ID client

$customer = new EDD_Customer( 33 );

ID utilisateur WordPress

$customer = new EDD_Customer( 96, true );

Remarque : pour l'ID utilisateur WordPress, vous devez passer la valeur true comme deuxième paramètre, afin que le système sache qu'il doit chercher dans WordPress plutôt que dans EDD.

Étape 2, Utiliser les données

Vous pouvez maintenant accéder aux propriétés de l'objet client comme ceci :

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

Vous pouvez les afficher, les analyser ; tout ce que vous souhaitez.

Obtenir les données de paiement du client

La classe EDD_Customer possède une méthode appelée
get_payments(). Cette méthode renvoie un tableau d'objets EDD_Payment. Exemple :

$customer = new EDD_Customer( 33 );

$payments = $customer->get_payments();

Maintenant, $payments contiendra un tableau d'objets EDD_Payment. Pour plus d'informations sur la structure de ce tableau,
veuillez consulter la documentation de la classe EDD_Payment.

Créer un client

Instanciez d'abord un objet :

$customer = new EDD_Customer;
Exemple 1 :
Then set up some arguments:
$args = array(
	'user_id'        => 12
	'name'           => 'Jose Canseco',
	'email'          => '[email protected]',
	'payment_ids'    => '',
	'purchase_value' => '',
	'purchase_count' => '',
	'notes'          => 'Whatever note you'd like',
);

Note : le
user_id ci-dessus est un numéro d'ID utilisateur WordPress. Il n'est requis que si vous souhaitez associer votre client à un utilisateur WordPress. Sinon, supprimez-le du tableau.

And then run the create method:
$customer->create( $args );
And now at this point your Customer should exist.
Example 2:
The above example shows how to create a customer with all possible options. The only
required option is email, so this would work as well:
$args = array(
	'email' => '[email protected]',
);
$customer->create( $args );

Cela crée un client avec uniquement l'adresse e-mail fournie, ce qui fonctionne très bien.

Mettre à jour un client

Étape 1, Obtenir les données.

Utilisez l'exemple de code de “Obtenir un client” ci-dessus.

Étape 2, Mettre à jour les données

Il existe deux façons de mettre à jour les données client avec EDD_Customer. L'une consiste à utiliser la méthode
update() et à mettre à jour plusieurs champs à la fois.

Exemple :

$customer = new EDD_Customer( 33 );

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

Maintenant, le client 33 a une adresse e-mail mise à jour et une nouvelle note.

Note : la mise à jour du champ notes avec cette méthode effacera toutes les notes existantes. Utilisez la méthode add_note() mentionnée ci-dessous pour ajouter une nouvelle note.

Mettre à jour des champs spécifiques

Plutôt que d'utiliser la méthode générale update() listée ci-dessus, vous devriez généralement essayer d'utiliser l'une des méthodes d'aide fournies ci-dessous. Celles-ci offrent des fonctionnalités spécifiques et limitées qui peuvent aider à réduire les erreurs.

Pour chacune des méthodes suivantes, vous instancieriez d'abord la classe client comme ci-dessus :

$customer = new EDD_Customer( 33 );

attach_payment() et remove_payment()

Celles-ci sont utilisées pour attacher et détacher des paiements à et depuis un client. Elles prennent toutes deux un payment_id comme première variable, et une option booléenne comme seconde. La seconde mettra à jour les statistiques si elle est définie sur true.

Exemples :


$customer->attach_payment( 33, true );

$customer->remove_payment( 33, true );

increase_purchase_count() et decrease_purchase_count()

Celles-ci sont utilisées pour augmenter et diminuer le
nombre d'achats effectués par un seul client. Elles prennent toutes deux simplement un entier, modifiant la valeur stockée de ce montant.

Exemples :

$customer->increase_purchase_count( 1 );

$customer->decrease_purchase_count( 1 );

increase_value() et decrease_value()

Ces champs sont utilisés pour augmenter et diminuer le montant dépensé par un client unique. Ils prennent tous deux simplement un nombre décimal, à deux chiffres après la virgule, modifiant la valeur stockée de ce montant.

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

get_notes()

Cette méthode renvoie les notes laissées sur le compte du client. Elle accepte 2 variables, la première pour le nombre de notes souhaité, et la seconde est un décalage.

Exemples :
$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()

Cette méthode renvoie le nombre de notes sur le compte du client. Elle ne prend aucune entrée.

Exemple :
$customer->get_notes_count();

add_note()

Cette méthode accepte une chaîne de caractères en entrée et la stocke comme une nouvelle note sur le compte du client. Elle conserve les retours à la ligne, mais n'autorise pas le HTML.

Exemple :

$customer->add_note( 'Ceci est une note. N'est-ce pas génial ?' );

Métadonnées du client

Les métadonnées arbitraires du client peuvent être gérées à l'aide des fonctions de métadonnées intégrées à la classe EDD_Customer.

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

get_meta prend simplement une clé de métadonnées et renvoie la valeur. Si 'single' est défini sur false, elle renverra toujours un tableau.

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

add_meta accepte une clé de métadonnées et sa valeur, mais accepte également un booléen pour 'unique'. Si la troisième entrée est 'true', alors add_meta ne réussira que si la clé de métadonnées n'existe pas déjà. Renvoie false en cas d'échec. True en cas de succès.

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

update_meta accepte une clé de métadonnées et la nouvelle valeur que vous souhaitez lui attribuer. Si vous avez plusieurs clés du même nom, elles seront toutes mises à jour avec la nouvelle valeur. La troisième entrée accepte une valeur pour comparer la valeur précédente. Ainsi, si vous avez déjà plusieurs clés de métadonnées
foo mais une seule avec la valeur bar, vous pourriez faire de bar la troisième entrée et la mise à jour ne s'appliquerait qu'à celle-ci. Renvoie false en cas d'échec. True en cas de succès.

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

delete_meta supprimera toutes les métadonnées avec une clé correspondante. Si une valeur est également fournie, alors les deux doivent correspondre. Renvoie false en cas d'échec. True en cas de succès.

Adresses e-mail du client

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:

La classe EDD_Customer permet au développeur de supprimer des adresses d'un client et d'en ajouter, ainsi que de désigner une adresse spécifique comme principale.

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

Cette fonction accepte une adresse e-mail à ajouter au client. Si la deuxième entrée est 'true', la nouvelle adresse e-mail sera définie comme l'adresse principale du client. Renvoie false en cas d'échec. True en cas de succès.

set_primary_email( $new_primary_email = ” )

Cette fonction accepte une adresse e-mail et si cette adresse e-mail est déjà associée à ce client, elle en fera l'adresse e-mail principale de ce client. Renvoie false en cas d'échec. True en cas de succès.

remove_email( $email = ” )

Cette fonction accepte une adresse e-mail et si cette adresse e-mail est déjà associée à ce client, elle la supprimera de ce client. Renvoie false en cas d'échec. True en cas de succès.

Was this article helpful?

Commencez à vendre dès aujourd'hui !

Rejoignez plus de 50 000 propriétaires de boutiques avisés et commencez à utiliser le moyen le plus simple de vendre des produits numériques avec WordPress.

Copyright © 2025 Sandhills Development, LLC

[universally_switcher]