You appear to be a bot. Output may be restricted
Description
Get the customers currently on your EDD site. Can also be used to create customers records
OPTIONS
–id=<customer_id>: A specific customer ID to retrieve –email=<customer_email>: The email address of the customer to retrieve –create=<number>: The number of arbitrary customers to create. Leave as 1 or blank to create a customer with a speciific email
EXAMPLES
wp edd customers –id=103 wp edd customers –email=john@test.com wp edd customers –create=1 –email=john@test.com wp edd customers –create=1 –email=john@test.com –name="John Doe" wp edd customers –create=1 –email=john@test.com –name="John Doe" user_id=1 wp edd customers –create=1000
Usage
EDD_CLI::customers( $args, $assoc_args );
Parameters
- $args
- ( mixed ) required –
- $assoc_args
- ( mixed ) required –
Returns
void
Source
File name: easy-digital-downloads/includes/class-edd-cli.php
Lines:
public function customers( $args, $assoc_args ) { $customer_id = isset( $assoc_args ) && array_key_exists( 'id', $assoc_args ) ? absint( $assoc_args['id'] ) : false; $email = isset( $assoc_args ) && array_key_exists( 'email', $assoc_args ) ? $assoc_args['email'] : false; $name = isset( $assoc_args ) && array_key_exists( 'name', $assoc_args ) ? $assoc_args['name'] : null; $user_id = isset( $assoc_args ) && array_key_exists( 'user_id', $assoc_args ) ? $assoc_args['user_id'] : null; $create = isset( $assoc_args ) && array_key_exists( 'create', $assoc_args ) ? $assoc_args['create'] : false; $start = time(); if ( $create ) { $number = 1; // Create one or more customers if ( ! $email ) { // If no email is specified, look to see if we are generating arbitrary customer accounts $number = is_numeric( $create ) ? absint( $create ) : 1; } for ( $i = 0; $i < $number; $i ++ ) { if ( ! $email ) { // Generate fake email $email = 'customer-' . uniqid() . '@test.com'; } $args = array( 'email' => $email, 'name' => $name, 'user_id' => $user_id, ); $customer_id = edd_add_customer( $args ); if ( $customer_id ) { WP_CLI::line( sprintf( __( 'Customer %d created successfully', 'easy-digital-downloads' ), $customer_id ) ); } else { WP_CLI::error( __( 'Failed to create customer', 'easy-digital-downloads' ) ); } // Reset email to false so it is generated on the next loop (if creating customers) $email = false; } WP_CLI::line( WP_CLI::colorize( '%G' . sprintf( __( '%d customers created in %d seconds', 'easy-digital-downloads' ), $create, time() - $start ) . '%N' ) ); } else { // Search for customers $search = false; // Checking if search is being done by id, email or user_id fields. if ( $customer_id || $email || ( 'null' !== $user_id ) ) { $search = array(); $customer_details = array(); if ( $customer_id ) { $customer_details['id'] = $customer_id; } elseif ( $email ) { $customer_details['email'] = $email; } elseif ( null !== $user_id ) { $customer_details['user_id'] = $user_id; } $search['customer'] = $customer_details; } $customers = $this->api->get_customers( $search ); if ( isset( $customers['error'] ) ) { WP_CLI::error( $customers['error'] ); } if ( empty( $customers ) ) { WP_CLI::error( __( 'No customers found', 'easy-digital-downloads' ) ); return; } foreach ( $customers['customers'] as $customer ) { WP_CLI::line( WP_CLI::colorize( '%G' . $customer['info']['email'] . '%N' ) ); WP_CLI::line( sprintf( __( 'Customer User ID: %s', 'easy-digital-downloads' ), $customer['info']['id'] ) ); WP_CLI::line( sprintf( __( 'Username: %s', 'easy-digital-downloads' ), $customer['info']['username'] ) ); WP_CLI::line( sprintf( __( 'Display Name: %s', 'easy-digital-downloads' ), $customer['info']['display_name'] ) ); if ( array_key_exists( 'first_name', $customer ) ) { WP_CLI::line( sprintf( __( 'First Name: %s', 'easy-digital-downloads' ), $customer['info']['first_name'] ) ); } if ( array_key_exists( 'last_name', $customer ) ) { WP_CLI::line( sprintf( __( 'Last Name: %s', 'easy-digital-downloads' ), $customer['info']['last_name'] ) ); } WP_CLI::line( sprintf( __( 'Email: %s', 'easy-digital-downloads' ), $customer['info']['email'] ) ); WP_CLI::line( '' ); WP_CLI::line( sprintf( __( 'Purchases: %s', 'easy-digital-downloads' ), $customer['stats']['total_purchases'] ) ); WP_CLI::line( sprintf( __( 'Total Spent: %s', 'easy-digital-downloads' ), edd_format_amount( $customer['stats']['total_spent'] ) . ' ' . edd_get_currency() ) ); WP_CLI::line( sprintf( __( 'Total Downloads: %s', 'easy-digital-downloads' ), $customer['stats']['total_downloads'] ) ); WP_CLI::line( '' ); }