Tribe__Events__Pro__Main::ugly_link( string $eventUrl, string $type, string $secondary )
Add support for ugly links for ugly links with PRO views.
Contents
Parameters
- $eventUrl
-
(string) (Required) The current URL.
- $type
-
(string) (Required) The type of endpoint/view whose link was requested.
- $secondary
-
(string) (Required) More data that is necessary for generating the link.
Return
(string) The ugly-linked URL.
Source
File: src/Tribe/Main.php
public function ugly_link( $eventUrl, $type, $secondary ) { switch ( $type ) { case 'week': if ( ! apply_filters( 'tribe_events_force_ugly_link', false ) && empty( $_POST['baseurl'] ) ) { $eventUrl = add_query_arg( 'post_type', Tribe__Events__Main::POSTTYPE, $eventUrl ); } $eventUrl = add_query_arg( array( 'tribe_event_display' => $type ), $eventUrl ); if ( $secondary ) { $eventUrl = add_query_arg( array( 'date' => $secondary ), $eventUrl ); } break; case 'photo': case 'map': $eventUrl = add_query_arg( array( 'tribe_event_display' => $type ), $eventUrl ); break; case 'all': remove_filter( 'post_type_link', array( $this->permalink_editor, 'filter_recurring_event_permalinks' ), 10, 4 ); $post_id = $secondary ? $secondary : get_the_ID(); $parent_id = wp_get_post_parent_id( $post_id ); if ( ! empty( $parent_id ) ) { $post_id = $parent_id; } /** * Filters the "all" part of the all recurrences link for a recurring event. * * @param string $all_frag Defaults to the localized versions of the "all" word. * @param int $post_id The event post object ID. * @param int $parent_id The event post object parent ID; this value will be the same as * `$post_id` if the event has no parent. */ $all_frag = apply_filters( 'tribe_events_pro_all_link_frag', $this->all_slug, $post_id, $parent_id ); $eventUrl = add_query_arg( 'eventDisplay', $all_frag, get_permalink( $post_id ) ); add_filter( 'post_type_link', array( $this->permalink_editor, 'filter_recurring_event_permalinks' ), 10, 4 ); break; default: break; } return apply_filters( 'tribe_events_pro_ugly_link', $eventUrl, $type, $secondary ); }