Skip to content

Instantly share code, notes, and snippets.

@barryhughes
Created May 12, 2015 01:14
Show Gist options
  • Save barryhughes/c772692a1dca698c955e to your computer and use it in GitHub Desktop.
Save barryhughes/c772692a1dca698c955e to your computer and use it in GitHub Desktop.
/**
* Redirect event category requests to list view.
*
* @param $query
*/
function use_list_view_for_categories( $query ) {
// Disregard anything except a main archive query
if ( is_admin() || ! $query->is_main_query() || ! is_archive() ) return;
// We only want to catch *event* category requests being issued
// against something other than list view
if ( ! $query->get( 'tribe_events_cat' ) ) return;
if ( tribe_is_list_view() ) return;
// Get the term object
$term = get_term_by( 'slug', $query->get( 'tribe_events_cat' ), TribeEvents::TAXONOMY );
// If it's invalid don't go any further
if ( ! $term ) return;
// Get the list-view taxonomy link and redirect to it
header( 'Location: ' . tribe_get_listview_link( $term->term_id ) );
exit();
}
// Use list view for category requests by hooking into pre_get_posts for event queries
add_action( 'tribe_events_pre_get_posts', 'use_list_view_for_categories' );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment