month_multiday_classes( TribeEventsViewsV2WP_Post $event, string $day_date, bool $is_start_of_week, string $today_date )
Used in the multiday month loop.
Contents
Outputs classes for the multiday event (article).
Parameters
- $event
-
(TribeEventsViewsV2WP_Post) (Required) An event post object with event-specific properties added from the the
tribe_get_event
function. - $day_date
-
(string) (Required) The
Y-m-d
date of the day currently being displayed. - $is_start_of_week
-
(bool) (Required) Whether the current grid day being rendered is the first day of the week or not.
- $today_date
-
(string) (Required) Today's date in the
Y-m-d
format.
Return
(TribeEventsViewsV2array<string>) $classes The classes to add to the multiday event.
Source
File: src/Tribe/Views/V2/functions/classes.php
function month_multiday_classes( $event, $day_date, $is_start_of_week, $today_date ) { $classes = tribe_get_post_class( [ 'tribe-events-calendar-month__multiday-event' ], $event->ID ); if ( ! empty( $event->featured ) ) { $classes[] = 'tribe-events-calendar-month__multiday-event--featured'; } /* * To keep the calendar accessible, in the context of a week, we'll print the event only on either its first day * or the first day of the week. */ $should_display = $is_start_of_week || in_array( $day_date, $event->displays_on, true ); // If doesn't start today and this week, let's not add the left border or set the width. if ( ! $should_display ) { /** * Allows filtering the multiday event classes. * * @since 5.1.1 * * @param array<string> $classes An array of thee classes to be applied. * @param WP_Post $event An event post object with event-specific properties added from the the `tribe_get_event` * function. * @param string $day_date The `Y-m-d` date of the day currently being displayed. * @param bool $is_start_of_week Whether the current grid day being rendered is the first day of the week or not. * @param string $today_date Today's date in the `Y-m-d` format. */ return apply_filters( 'tribe_events_views_v2_month_multiday_classes', $classes, $event, $day_date, $is_start_of_week, $today_date ); } /* * The "duration" here is how many days the event will take this week, not in total. * The two values might be the same but they will differ for events that last more than one week. */ $classes[] = 'tribe-events-calendar-month__multiday-event--width-' . $event->this_week_duration; $classes[] = 'tribe-events-calendar-month__multiday-event--display'; // If it ends this week, let's add the start class (left border). if ( $event->starts_this_week ) { $classes[] = 'tribe-events-calendar-month__multiday-event--start'; } // If it ends this week, let's add the end class (right border). if ( $event->ends_this_week ) { $classes[] = 'tribe-events-calendar-month__multiday-event--end'; } if ( $event->dates->end->format( 'Y-m-d' ) < $today_date ) { $classes[] = 'tribe-events-calendar-month__multiday-event--past'; } /** * Allows filtering the multiday event classes. * * @since 5.1.1 * * @param array<string> $classes An array of thee classes to be applied. * @param WP_Post $event An event post object with event-specific properties added from the the `tribe_get_event` * function. * @param string $day_date The `Y-m-d` date of the day currently being displayed. * @param bool $is_start_of_week Whether the current grid day being rendered is the first day of the week or not. * @param string $today_date Today's date in the `Y-m-d` format. */ return apply_filters( 'tribe_events_views_v2_month_multiday_classes', $classes, $event, $day_date, $is_start_of_week, $today_date ); }
Changelog
Version | Description |
---|---|
5.1.1 | Introduced. |