Tribe__Events__Community__Main::doMyEvents( int $page = null, bool $print_before_after_override = false, bool $shortcode = false )
Show the current user’s events.
Contents
Parameters
- $page
-
(int) (Optional) Pagination.
Default value: null
- $print_before_after_override
-
(bool) (Optional)
Default value: false
- $shortcode
-
(bool) (Optional)
Default value: false
Return
(string) The page.
Source
File: src/Tribe/Main.php
public function doMyEvents( $page = null, $print_before_after_override = false, $shortcode = false ) { $output = ''; $this->default_template_compatibility( $print_before_after_override ); $this->loadScripts = true; do_action( 'tribe_ce_before_event_list_page' ); $output .= '<div class="tribe-community-events-content">'; ob_start(); if ( $this->should_print_before_after_html ) { tribe_events_before_html(); } $output .= ob_get_clean(); if ( is_user_logged_in() ) { $current_user = wp_get_current_user(); global $paged; if ( empty( $paged ) && ! empty( $page ) ) { $paged = $page; } add_filter( 'tribe_query_can_inject_date_field', '__return_false' ); /** * Allow filtering the "my events" query 'orderby' param directly. * * @since 4.6.2 * * @param string 'event_date' defaults to event_date now for orderby */ $orderby = apply_filters( 'tribe_ce_my_events_query_orderby', 'event_date' ); /** * Allow filtering the "my events" query 'order' param directly. * * @since 4.6.2 * * @param string 'ASC' defaults to ASC now for order */ $order = apply_filters( 'tribe_ce_my_events_query_order', 'ASC' ); $args = array( 'posts_per_page' => $this->eventsPerPage, 'paged' => $paged, 'author' => $current_user->ID, 'post_type' => Tribe__Events__Main::POSTTYPE, 'post_status' => array( 'pending', 'draft', 'future', 'publish' ), 'eventDisplay' => empty( $_GET['eventDisplay'] ) ? 'list' : $_GET['eventDisplay'], 'tribeHideRecurrence' => false, 'orderby' => sanitize_text_field( $orderby ), 'order' => sanitize_text_field( $order ), 's' => isset( $_GET['event-search'] ) ? esc_html( $_GET['event-search'] ) : '', ); /** * Allow filtering the "my events" query args. * Note that 'order' and 'orderby can be filtered directly - * removing the need to sift through the array to change them * via: `tribe_ce_my_events_query_order` and `tribe_ce_my_events_query_orderby` * * @since 4.6.1.2 * * @param array $args array of query args */ $args = apply_filters( 'tribe_ce_my_events_query', $args ); $events = tribe_get_events( $args, true ); remove_filter( 'tribe_query_can_inject_date_field', '__return_false' ); /** * Allow users to inject content into the end of the list * * @since 4.6.1.2 */ do_action( 'tribe_ce_before_event_list_page_template' ); ob_start(); if ( $shortcode ) { $template = 'community/event-list-shortcode'; } else { $template = 'community/event-list'; } /** * Allow filtering the template being included for the event list. * * @since 4.6.2 * * @param string $template Template to include. */ $template = apply_filters( 'tribe_events_community_list_page_template_include', $template ); include Tribe__Events__Templates::getTemplateHierarchy( $template ); $output .= ob_get_clean(); wp_reset_query(); } else { do_action( 'tribe_ce_event_list_login_form' ); $output .= $this->login_form( __( 'Please log in to view your events', 'tribe-events-community' ) ); } ob_start(); if ( $this->should_print_before_after_html ) { tribe_events_after_html(); } $output .= ob_get_clean(); $output .= '</div>'; return $output; }
Changelog
Version | Description |
---|---|
1.0 | Introduced. |