questions

Events Calendar – Change Title of List View

Rate this post

Im using the Events Calendar Plugin and I can’t seem to call the archive of events (list view, main calendar page) so I can conditionally change the title from “Events”. I know that the Events Calendar Plugin has recently had a major update, but this seems like it would be pretty straightforward.

I was using this, but it keeps the same title

TEMPLATE:

elseif( tribe_is_past() || tribe_is_upcoming() && !is_tax() ) {
   echo tribe_get_events_title();
} 

FUNCTIONS.PHP

function tribe_alter_event_archive_titles ($original_recipe_title, $depth) {
$starttime = urldecode($_GET['data-day']);
// Modify the titles here
// Some of these include %1$s and %2$s, these will be replaced with relevant dates
$title_upcoming =   'Current Season'; // List View: Upcoming events
$title_past =       'Past Events'; // List view: Past events
$title_range =      'Events for %1$s - %2$s'; // List view: range of dates being viewed
$title_month =      'Events for %1$s'; // Month View, %1$s = the name of the month
$title_day =        'Santa Fe Events'; // Day View, %1$s = the day
$title_all =        'All events for %s'; // showing all recurrences of an event, %s = event title
$title_week =       'Events for week of %s'; // Week view

// Don't modify anything below this unless you know what it does
global $wp_query;
$tribe_ecp = Tribe__Events__Main::instance();
$date_format = apply_filters( 'tribe_events_pro_page_title_date_format',    tribe_get_date_format( true ) );

// Default Title
$title = $title_upcoming;

 // If there's a date selected in the tribe bar, show the date range of the currently showing events
if ( isset( $_REQUEST['tribe-bar-date'] ) && $wp_query->have_posts() ) {

if ( $wp_query->get( 'paged' ) > 1 ) {
  // if we're on page 1, show the selected tribe-bar-date as the first date in the range
  $first_event_date = tribe_get_start_date( $wp_query->posts[0], false );
} else {
  //otherwise show the start date of the first event in the results
  $first_event_date = tribe_event_format_date( $_REQUEST['tribe-bar-date'], false );
}

$last_event_date = tribe_get_end_date( $wp_query->posts[ count( $wp_query->posts ) - 1 ], false );
$title = sprintf( $title_range, $first_event_date, $last_event_date );
} elseif ( tribe_is_past() ) {
$title = $title_past;
}

// Month view title
if ( tribe_is_month() ) {
$title = sprintf(
  $title_month,
  date_i18n( tribe_get_option( 'monthAndYearFormat', 'F Y' ), strtotime( tribe_get_month_view_date() ) )
);
}

// Day view title
if ( tribe_is_day() ) {
$title = sprintf(
  $title_day,
  date_i18n( tribe_get_date_format( true ), strtotime( $wp_query->get( 'start_date' ) ) )
);
}

// All recurrences of an event
if ( function_exists('tribe_is_showing_all') && tribe_is_showing_all() ) {
$title = sprintf( $title_all, get_the_title() );
}

// Week view title
if ( function_exists('tribe_is_week') && tribe_is_week() ) {
$title = sprintf(
  $title_week,
  date_i18n( $date_format, strtotime( tribe_get_first_week_day( $wp_query->get( 'start_date' ) ) ) )
);
}

if ( is_tax( $tribe_ecp->get_event_taxonomy() ) && $depth ) {
$cat = get_queried_object();
$title = '<a href="' . esc_url( tribe_get_events_link() ) . '">' . $title . '</a>';
$title .= ' › ' . $cat->name;
}

return $title;
}
add_filter( 'tribe_get_events_title', 'tribe_alter_event_archive_titles', 11, 2 );

I just wanted to change the List View title from Events to Current Season. Should be simpler than this

 

✔️Solution:

This worked for me, when your Events Calendar is in list view. Also the single events and regular page titles are all displaying correctly

<?php
  if( tribe_is_list_view() ) {
    echo '<h1 data-aos="zoom-in" data-aos-delay="50" class="display-4 text-center">';
    echo tribe_get_events_title();
    echo '</h1>';
    }
elseif( tribe_is_event() && is_single() ) {
  echo '<h1 data-aos="zoom-in" data-aos-delay="50" class="display-4 text-center">'; ?>
  <?php the_title(); ?></h1>
<?php
}
 else {
  echo '<h1 data-aos="zoom-in" data-aos-delay="50" class="display-4 text-center">'; ?>
    <?= Titles\title(); ?></h1>
 <?php } ?>

Hopefully this helps someone with this issue, since I couldn’t find anything on the interwebs.

Leave a Reply

Your email address will not be published.

Back to top button