Tribe__Tickets__Privacy::rsvp_eraser( $email_address, int $page = 1 )
Eraser for Events Ticket RSVP Attendee
Contents
Parameters
- $email_address
-
(Required)
- $page
-
(int) (Optional)
Default value: 1
Return
(array)
Source
File: src/Tribe/Privacy.php
public function rsvp_eraser( $email_address, $page = 1 ) {
if ( empty( $email_address ) ) {
return array(
'items_removed' => false,
'items_retained' => false,
'messages' => array(),
'done' => true,
);
}
$messages = array();
$items_removed = false;
$items_retained = false;
$number = 500; // Limit us to avoid timing out
$page = (int) $page;
// Get the attendees RSVPs for the given email.
$rsvp_attendees = new WP_Query( array(
'post_type' => Tribe__Tickets__RSVP::ATTENDEE_OBJECT,
'meta_key' => '_tribe_rsvp_email',
'meta_value' => $email_address,
'page' => $page,
'posts_per_page' => $number,
'orderby' => 'ID',
'order' => 'ASC',
) );
foreach ( $rsvp_attendees->posts as $rsvp ) {
$event_id = get_post_meta( $rsvp->ID, Tribe__Tickets__RSVP::ATTENDEE_EVENT_KEY, true );
$deleted = wp_delete_post( $rsvp->ID );
if ( $deleted ) {
$items_removed = true;
if ( $event_id ) {
Tribe__Post_Transient::instance()->delete( $event_id, Tribe__Tickets__Tickets::ATTENDEES_CACHE );
}
} else {
$items_retained = true;
$messages[] = __( 'RSVP information was not removed. A database error may have occurred during deletion.', 'event-tickets' );
}
}
// Tell core if we have more elements to work on still
$done = count( $rsvp_attendees->posts ) < $number;
return array(
'items_removed' => $items_removed,
'items_retained' => $items_retained,
'messages' => $messages,
'done' => $done,
);
}
Changelog
| Version | Description |
|---|---|
| 4.7.6 | Introduced. |