Preview_Data
Class Preview_Data.
Source
File: src/Tickets/Emails/Admin/Preview_Data.php
class Preview_Data {
/**
* Get default preview data.
*
* @since 5.5.11
*
* @return array The default preview data.
*/
public static function get_default_preview_data(): array {
$current_user = wp_get_current_user();
$title = __( 'Here\'s your ticket!', 'event-tickets' );
if ( ! empty( $current_user->first_name ) ) {
$title = sprintf(
// Translators: %s - First name of email recipient.
__( 'Here\'s your ticket, %s!', 'event-tickets' ),
$current_user->first_name
);
}
return [
'title' => $title,
'heading' => $title,
'is_preview' => true,
'tickets' => [
[
'ticket_id' => '1234',
'ticket_name' => esc_html__( 'General Admission', 'event-tickets' ),
'holder_name' => $current_user->first_name . ' ' . $current_user->last_name,
'holder_first_name' => $current_user->first_name,
'holder_last_name' => $current_user->last_name,
'security_code' => '17e4a14cec',
],
],
];
}
/**
* Get Order preview data.
*
* @since 5.5.11
*
* @param string $args Array of preview data.
*
* @return WP_Post
*/
public static function get_order( $args = [] ) {
$total_value = Value::create( '100' );
$order = new WP_Post( (object) [
'ID' => -99,
'gateway_order_id' => -99,
'total' => $total_value,
'total_value' => $total_value,
'purchaser' => [
'first_name' => __( 'John', 'event-tickets' ),
'name' => __( 'John Doe', 'event-tickets' ),
'email' => 'john@doe.com',
],
'purchaser_name' => __( 'John Doe', 'event-tickets' ),
'purchaser_email' => 'john@doe.com',
'gateway' => __( 'Stripe', 'event-tickets' ),
'status' => 'completed',
'tickets' => self::get_tickets(),
'post_author' => 1,
'post_date' => current_time( 'mysql' ),
'post_date_gmt' => current_time( 'mysql', 1 ),
'post_title' => __( 'Preview Order', 'event-tickets' ),
'post_status' => 'publish',
'post_name' => 'preview-order-' . rand( 1, 9999 ),
'post_type' => Order::POSTTYPE,
'filter' => 'raw',
] );
return $order;
}
/**
* Get Attendees preview data.
*
* @since 5.5.11
*
* @param string $args Array of preview data.
*
* @return array
*/
public static function get_attendees( $args = [] ): array {
$default = [
[
'ticket_title' => __( 'General Admission', 'event-tickets' ),
'ticket_id' => '17e4a14cec',
'name' => __( 'John Doe', 'event-tickets' ),
'email' => 'john@doe.com',
'custom_fields' => [
[
'label' => __( 'Shirt size', 'event-tickets' ),
'value' => __( 'large', 'event-tickets' ),
],
[
'label' => __( 'Backstage pass', 'event-tickets' ),
'value' => __( 'yes', 'event-tickets' ),
],
],
],
[
'ticket_title' => __( 'General Admission', 'event-tickets' ),
'ticket_id' => '55e5e14w4',
'name' => __( 'Jane Doe', 'event-tickets' ),
'email' => 'jane@doe.com',
'custom_fields' => [
[
'label' => __( 'Shirt size', 'event-tickets' ),
'value' => __( 'small', 'event-tickets' ),
],
[
'label' => __( 'Backstage pass', 'event-tickets' ),
'value' => __( 'yes', 'event-tickets' ),
],
],
],
];
return wp_parse_args( $args, $default );
}
/**
* Get Tickets preview data.
*
* @since 5.5.11
*
* @param string $args Array of preview data.
*
* @return array
*/
public static function get_tickets( $args = [] ): array {
$tickets = [
new WP_Post( (object) [
'ID' => -98,
'post_author' => 1,
'post_date' => current_time( 'mysql' ),
'post_date_gmt' => current_time( 'mysql', 1 ),
'post_title' => __( 'General Admission', 'event-tickets' ),
'post_status' => 'publish',
'post_name' => 'preview-order-' . rand( 1, 9999 ),
'post_type' => Order::POSTTYPE,
'filter' => 'raw',
'ticket_data' => [
'ticket_id' => -98,
'quantity' => 2,
'extra' => [
'optout' => true,
'iac' => 'none',
],
'price' => 50.0,
'sub_total' => 50.0,
'event_id' => -97,
],
] ),
];
return $tickets;
}
}
Changelog
| Version | Description |
|---|---|
| 5.5.11 | Introduced. |
Methods
- get_attendees — Get Attendees preview data.
- get_default_preview_data — Get default preview data.
- get_order — Get Order preview data.
- get_placeholders — Get preview placeholders.
- get_post — Get Post Data for preview.
- get_tickets — Get Tickets preview data.