Tribe__Events__Meta__Save::save_block_editor_metadata( int $event_id, array $data, WP_Post $event = null )
Used to save the event meta for events created in the block editor
Contents
Parameters
- $event_id
-
(int) (Required) The event ID we are modifying meta for.
- $data
-
(array) (Required) The post data
- $event
-
(WP_Post) (Optional) The event post, itself.
Default value: null
Return
(bool)
Source
File: src/Tribe/Meta/Save.php
public function save_block_editor_metadata( $event_id, $data, $event = null ) {
if ( ! $this->context->current_user_can_edit_events() ) {
return false;
}
if ( empty( $data['EventHideFromUpcoming'] ) ) {
delete_metadata( 'post', $event_id, '_EventHideFromUpcoming' );
} else {
update_metadata( 'post', $event_id, '_EventHideFromUpcoming', $data['EventHideFromUpcoming'] );
}
// Set sticky state for calendar view.
if ( $event instanceof WP_Post ) {
$show_in_cal = Tribe__Utils__Array::get( $data, array( 'EventShowInCalendar' ), false );
if (
$show_in_cal
&& tribe_is_truthy( $show_in_cal )
&& $event->menu_order != '-1'
) {
$update_event = array(
'ID' => $event_id,
'menu_order' => '-1',
);
wp_update_post( $update_event );
} elseif (
(
! $show_in_cal
|| ! tribe_is_truthy( $show_in_cal )
)
&& $event->menu_order == '-1'
) {
$update_event = array(
'ID' => $event_id,
'menu_order' => '0',
);
wp_update_post( $update_event );
}
}
// Set featured status
empty( $data['feature_event'] )
? tribe( 'tec.featured_events' )->unfeature( $event_id )
: tribe( 'tec.featured_events' )->feature( $event_id );
return true;
}