Tribe__Tickets__Tickets_View::get_rsvp_block( WP_Post|int $post, boolean $echo = true, int[] $include_tickets = array() )
Gets the RSVP block template “out of context” and makes it usable for Classic views.
Contents
Parameters
- $post
-
(WP_Post|int) (Required) The post object or ID.
- $echo
-
(boolean) (Optional) Whether to echo the output or not.
Default value: true
- $include_tickets
-
(int[]) (Optional) Array of ticket IDs to include, excluding all others.
Default value: array()
Return
(string) The block HTML.
Source
File: src/Tribe/Tickets_View.php
public function get_rsvp_block( $post, $echo = true ) {
if ( empty( $post ) ) {
return '';
}
if ( is_numeric( $post ) ) {
$post = get_post( $post );
}
if (
empty( $post )
|| ! ( $post instanceof WP_Post )
) {
return '';
}
// If password protected then do not display content.
if ( post_password_required( $post ) ) {
return '';
}
$post_id = $post->ID;
/** @var \Tribe__Tickets__Editor__Template $template */
$template = tribe( 'tickets.editor.template' );
/** @var \Tribe__Tickets__Editor__Blocks__Rsvp $blocks_rsvp */
$blocks_rsvp = tribe( 'tickets.editor.blocks.rsvp' );
/** @var Tribe__Tickets__RSVP $rsvp */
$rsvp = tribe( 'tickets.rsvp' );
// Load assets manually.
$blocks_rsvp->assets();
$tickets = $blocks_rsvp->get_tickets( $post_id );
$active_tickets = $blocks_rsvp->get_active_tickets( $tickets );
$past_tickets = $blocks_rsvp->get_all_tickets_past( $tickets );
$args = [
'post_id' => $post_id,
'attributes' => $blocks_rsvp->attributes(),
'active_rsvps' => $active_tickets,
'all_past' => $past_tickets,
'has_rsvps' => ! empty( $tickets ),
'has_active_rsvps' => ! empty( $active_tickets ),
'must_login' => ! is_user_logged_in() && $rsvp->login_required(),
'login_url' => Tribe__Tickets__Tickets::get_login_url( $post_id ),
'threshold' => $blocks_rsvp->get_threshold( $post_id ),
];
// Add the rendering attributes into global context.
$template->add_template_globals( $args );
// @todo Remove this after G20.07.
// Determine whether to show the previews on the page.
if (
defined( 'TRIBE_TICKETS_RSVP_NEW_VIEWS_PREVIEW' )
&& TRIBE_TICKETS_RSVP_NEW_VIEWS_PREVIEW
) {
// Enqueue new assets.
tribe_asset_enqueue( 'tribe-tickets-rsvp-style' );
tribe_asset_enqueue( 'tribe-tickets-form-style' );
// @todo: Remove this once we solve the common breakpoints vs container based.
tribe_asset_enqueue( 'tribe-common-responsive' );
return $template->template( 'v2/rsvp-kitchen-sink', $args, $echo );
}
// Maybe render the new views.
if ( tribe_tickets_rsvp_new_views_is_enabled() ) {
// Enqueue new assets.
tribe_asset_enqueue( 'tribe-tickets-rsvp' );
tribe_asset_enqueue( 'tribe-tickets-rsvp-style' );
tribe_asset_enqueue( 'tribe-tickets-form-style' );
// @todo: Remove this once we solve the common breakpoints vs container based.
tribe_asset_enqueue( 'tribe-common-responsive' );
return $template->template( 'v2/rsvp', $args, $echo );
}
// Enqueue assets.
tribe_asset_enqueue( 'tribe-tickets-gutenberg-rsvp' );
tribe_asset_enqueue( 'tribe-tickets-gutenberg-block-rsvp-style' );
return $template->template( 'blocks/rsvp', $args, $echo );
}
Changelog
| Version | Description |
|---|---|
| 4.12.3 | Introduced. |