Tribe__Events__Updater::migrate_event_status_reason_field()
Update Event Status reason field from extension to a central field for both.
Source
File: src/Tribe/Updater.php
public function migrate_event_status_reason_field() {
$args = [
'posts_per_page' => 500,
'meta_query' => [
[
'relation' => 'OR',
[
'key' => Event_Status_Meta::$key_control_status,
'value' => [ 'canceled', 'postponed' ],
'compare' => 'IN',
],
],
],
];
$events = tribe_events()->by_args( $args )->get_ids();
foreach ( $events as $event_id ) {
$event = tribe_get_event( $event_id );
$status = get_post_meta( $event_id, Event_Status_Meta::$key_control_status, true );
// Update event status to TEC field.
update_post_meta( $event_id, Event_Status_Meta::$key_status, $status );
$reason = '';
if ( 'canceled' === $status ) {
$reason = get_post_meta( $event->ID, Event_Status_Meta::$key_status_canceled_reason, true );
}
if ( 'postponed' === $status ) {
$reason = get_post_meta( $event->ID, Event_Status_Meta::$key_status_postponed_reason, true );
}
if ( empty( $reason ) ) {
continue;
}
// Update reason to central source.
update_post_meta( $event_id, Event_Status_Meta::$key_status_reason, $reason );
}
}
Changelog
| Version | Description |
|---|---|
| 5.11.0 | Introduced. |