Skip to content

Commit b633e5b

Browse files
Adding Caching for get_formatted_datetime()
Transient time set to 12 Hours for now.
1 parent 35fbf64 commit b633e5b

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

includes/core/classes/class-event.php

+9
Original file line numberDiff line numberDiff line change
@@ -399,6 +399,14 @@ protected function get_formatted_datetime(
399399
string $which = 'start',
400400
bool $local = true
401401
): string {
402+
403+
$cache_key = 'formatted_datetime_' . md5($format . $which . ($local ? 'local' : 'gmt'));
404+
405+
$cached_date = get_transient($cache_key);
406+
if ($cached_date !== false) {
407+
return $cached_date;
408+
}
409+
402410
$dt = $this->get_datetime();
403411
$date = $dt[ sprintf( 'datetime_%s_gmt', $which ) ];
404412
$dt['timezone'] = static::maybe_convert_offset( $dt['timezone'] );
@@ -419,6 +427,7 @@ protected function get_formatted_datetime(
419427
$date = wp_date( $format, $ts, $tz );
420428
}
421429

430+
set_transient($cache_key, $date, 43200);
422431
return (string) $date;
423432
}
424433

0 commit comments

Comments
 (0)