Tribe__Tickets__Privacy::tpp_order_exporter( $email_address, int $page = 1 )

Exporter for Events Ticket Tribe Commerce Attendee


Parameters

$email_address

(Required)

$page

(int) (Optional)

Default value: 1


Top ↑

Return

(array)


Top ↑

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,
		);
	}

Top ↑

Changelog

Changelog
Version Description
4.7.6 Introduced.