\WP_Stager_Integration\Calendar::render_all(array $args = array()): void
\WP_Stager_Integration\Calendar::render_all(array $args = array()): voidDescription
Renders all events.
Respects the 'show_past_events' and 'show_upcoming_events' settings passed in $args.
Parameters:
| Parameter | Type | Description |
|---|---|---|
$args | array | (Optional) An array of calendar settings. See \WP_Stager_Integration\Calendar::render_calendar() for accepted arguments. |
Returns:
void
Information
| File | class-calendar.php line 864 |
|---|---|
| See also |
|
Full Code
/**
* Renders all events.
*
* Respects the <code>'show_past_events'</code> and <code>'show_upcoming_events'</code> settings passed in <code>$args</code>.
*
* @param array $args (Optional) An array of calendar settings. See <code>\WP_Stager_Integration\Calendar::render_calendar()</code> for accepted arguments.
*
* @return void
*
* @see \WP_Stager_Integration\Calendar::render_calendar() for accepted <code>$args</code>.
*/
public static function render_all( $args = array() ) {
// Type casting
$args = (array) $args;
// Override specific args
$args[ 'show_nav' ] = false;
$args[ 'clip' ] = true;
// Determine whether past events should be included
$show_past_events = (bool) ($args[ 'show_past_events' ] ?? true);
$show_upcoming_events = (bool) ($args[ 'show_upcoming_events' ] ?? true);
// Fetch events (ordered by start ascending)
$events = (array) (Event::get_all_events( $show_past_events, -1 ) ?: array());
$events = (array) (self::filter_events_by_show_upcoming( $events, $show_upcoming_events ) ?: array());
// If no events, render empty list (will show no-events message via template)
if ( empty( $events ) ) {
$args[ 'scope' ] = 'event';
$args[ 'events' ] = array();
$args[ 'show_nav' ] = false;
self::render_calendar( $args );
return;
}
// Calculate global range across all events
$min_start = 0;
$max_end = 0;
foreach ( $events as $event ) {
$start_raw = (string) ( $event[ 'programStartAt' ] ?? '' );
$end_raw = (string) ( $event[ 'programEndAt' ] ?? '' );
if ( $start_raw ) {
$start_ts = (int) strtotime( $start_raw );
if ( $start_ts ) {
$min_start = $min_start ? min( $min_start, $start_ts ) : $start_ts;
}
}
if ( $end_raw ) {
$end_ts = (int) strtotime( $end_raw );
if ( $end_ts ) {
$max_end = max( $max_end, $end_ts );
}
}
}
// Fallback if no end found; at least use start day
if ( ! $max_end && $min_start ) {
$max_end = $min_start;
}
// Bail if we still couldn't determine a start
if ( ! $min_start ) {
$args[ 'scope' ] = 'event';
$args[ 'events' ] = array();
$args[ 'show_nav' ] = false;
self::render_calendar( $args );
return;
}
// Add args
$args[ 'class' ] = 'wpstager-calendar--scope-all';
$args[ 'events' ] = $events;
// Delegate to range renderer; pass through args
self::render_range( $min_start, $max_end, $args );
}💡 If you ever get stuck or have a question, please check our FAQs, our Free Integration Service, our paid Full Integration Service, or reach out to us!

Get WP Stager Integration
🎁 Limited offer: Use code WELCOME26 to get your first month for free!

