Tribe__Events__Tickets__Eventbrite__Aggregator::save_event_meta( array|WP_Post $event, array $item, Tribe__Events__Aggregator__Record__Abstract $record )
Saves the Event Meta for Eventbrite
Contents
Parameters
- $event
-
(array|WP_Post) (Required) Which Event data was sent.
- $item
-
(array) (Required) Raw version of the data sent from EA.
- $record
-
(Tribe__Events__Aggregator__Record__Abstract) (Required) The record we are dealing with.
Return
(array|bool)
Source
File: src/Tribe/Aggregator.php
public function save_event_meta( $event, $item, $record ) {
if ( ! $event instanceof WP_Post && empty( $event['eventbrite'] ) ) {
return false;
}
if ( ! $event instanceof WP_Post ) {
$event_id = $event['ID'];
$eventbrite = $event['eventbrite'];
//setup object fields to use existing naming
$eventbrite->id = empty( $event['EventBriteID'] ) ? null : tribe( 'eventbrite.sync.utilities' )->sanitize_absint( $event['EventBriteID'] );
$eventbrite->url = empty( $event['EventURL'] ) ? null : esc_url( $event['EventURL'] );
$eventbrite->ticket_classes = empty( $eventbrite->tickets ) ? null : $eventbrite->tickets;
unset( $eventbrite->tickets );
} else {
$event_id = $event->ID;
$eventbrite = $item->eventbrite;
$eventbrite->url = empty( $item->url ) ? null : esc_url( $item->url );
$eventbrite->id = $item->eventbrite_id;
$eventbrite->ticket_classes = empty( $item->eventbrite->tickets ) ? null : $item->eventbrite->tickets;
unset( $eventbrite->tickets );
}
$eventbrite->is_owner = empty( $item->is_owner ) ? null : $item->is_owner;
// Update Eventbrite privacy setting
tribe( 'eventbrite.sync.event' )->set_event_privacy_meta( $event_id, $eventbrite );
// set local status
$current_status = ( ! empty( $eventbrite->status ) ? esc_attr( $eventbrite->status ) : 'draft' );
update_post_meta( $event_id, '_EventBriteStatus', $current_status );
// local Eventbrite setting to show tickets
$show_tickets = get_post_meta( $event_id, '_EventShowTickets', true );
$show_tickets = ( ! empty( $show_tickets ) ? esc_attr( $show_tickets ) : 'yes' );
update_post_meta( $event_id, '_EventShowTickets', $show_tickets );
// local Eventbrite setting to connect event to eventbrite
update_post_meta( $event_id, '_EventRegister', 'yes' );
// save object
$saved['tickets'] = update_post_meta( $event_id, tribe( 'eventbrite.event' )->key_tickets, $eventbrite );
return $saved;
}
Changelog
| Version | Description |
|---|---|
| 4.5 | Introduced. |