Tribe__Tickets__Privacy::tpp_order_exporter( $email_address, int $page = 1 )
Exporter for Events Ticket Tribe Commerce Attendee
Contents
Parameters
- $email_address
-
(Required)
- $page
-
(int) (Optional)
Default value: 1
Return
(array)
Source
File: src/Tribe/Privacy.php
public function tpp_order_exporter( $email_address, $page = 1 ) {
$number = 500; // Limit us to avoid timing out
$page = (int) $page;
$export_items = array();
// Get the tribe commerce orders
$tpp_orders = new WP_Query( array(
'post_type' => 'tribe_tpp_orders',
'meta_key' => '_tribe_paypal_payer_email',
'meta_value' => $email_address,
'page' => $page,
'posts_per_page' => $number,
'orderby' => 'ID',
'order' => 'ASC',
) );
foreach ( $tpp_orders->posts as $order ) {
$item_id = "order-{$order->ID}";
// Set our own group for Tribe Commerce orders
$group_id = 'tpp-orders';
// Set a label for the group
$group_label = __( 'Event Tickets TribeCommerce Order Data', 'event-tickets' );
$data = array();
$data[] = array(
'name' => __( 'Order Number', 'event-tickets' ),
'value' => $order->ID,
);
$data[] = array(
'name' => __( 'Order Total', 'event-tickets' ),
'value' => get_post_meta( $order->ID, '_tribe_paypal_mc_gross', true ),
);
$meta = get_post_meta( $order->ID, '_paypal_hashed_meta', true );
$address = isset( $meta['address_name'] ) ? $meta['address_name'] : '';
$address .= isset( $meta['address_street'] ) ? ', ' . $meta['address_street'] : '';
$address .= isset( $meta['address_city'] ) ? ', ' . $meta['address_city'] : '';
$address .= isset( $meta['address_zip'] ) ? ', ' . $meta['address_zip'] : '';
$address .= isset( $meta['address_country'] ) ? ', ' . $meta['address_country'] : '';
$data[] = array(
'name' => __( 'Billing Address', 'event-tickets' ),
'value' => $address,
);
$data[] = array(
'name' => __( 'Email', 'event-tickets' ),
'value' => get_post_meta( $order->ID, '_tribe_paypal_payer_email', true ),
);
$data[] = array(
'name' => __( 'Date', 'event-tickets' ),
'value' => get_post_meta( $order->ID, '_tribe_paypal_payment_date', true ),
);
/**
* Allow filtering for the tribecommerce order data export.
*
* @since 4.7.6
* @param array $data The data array to export
* @param object $order The order object
*/
$data = apply_filters( 'tribe_tickets_personal_data_export_tpp_order', $data, $order );
$export_items[] = array(
'group_id' => $group_id,
'group_label' => $group_label,
'item_id' => $item_id,
'data' => $data,
);
}
// Tell core if we have more orders to work on still
$done = count( $tpp_orders->posts ) < $number;
return array(
'data' => $export_items,
'done' => $done,
);
}
Changelog
| Version | Description |
|---|---|
| 4.7.6 | Introduced. |